我想用Python打印一本格式化的词典

我想用Python打印一本格式化的词典,python,dictionary,Python,Dictionary,我一直在用Python创建一个存储。我想打印出我制作的用于存储商店项目的字典,但使用的格式是我通过重新定义\uuuu str\uuu创建的。有没有办法通过创建一个循环来实现这一点 class Store(): def __init__(self): self.available_items = [] self.customer_list = [] class Inventory(): def __init__(self, name, stock, price):

我一直在用Python创建一个存储。我想打印出我制作的用于存储商店项目的字典,但使用的格式是我通过重新定义
\uuuu str\uuu
创建的。有没有办法通过创建一个循环来实现这一点

class Store():
def __init__(self):
    self.available_items = []
    self.customer_list = []


class Inventory():
    def __init__(self, name, stock, price):
        self.name = name
        self.stock = stock
        self.price = price

    def __str__(self):
        return 'Name: {0}, Stock: {1}, Price: {2}'.format(self.name, self.stock, self.price)


# Store name is listed along with its database of items
amazon = Store()

amazon.available_items = {
    111: Inventory('Ice Cubes', 10, 7.99),
    121: Inventory('Butter', 8, 4.99),
    131: Inventory('Radio', 70, 17.99),
    141: Inventory('Underwear', 15, 3.99),
    151: Inventory('Coffee', 17, 2.99)
    }


print(amazon.available_items[111])

for items in amazon.available_items:
    print items

我相信你正在努力做到这一点:

for items in amazon.available_items:
    print(amazon.available_items[items])
结果:

Name: Butter, Stock: 8, Price: 4.99
Name: Radio, Stock: 70, Price: 17.99
Name: Coffee, Stock: 17, Price: 2.99
Name: Underwear, Stock: 15, Price: 3.99
Name: Ice Cubes, Stock: 10, Price: 7.99
还有另一种循环字典的方法,您可能会发现它对其他实现很有用。您可以使用
iteritems()
分隔键和值:


通过此循环,您可以在
变量处访问
111、121、131…
,在
变量处访问
Name:Butter…

什么上的循环?在我看来,您的str实现非常好。谢谢!对不起,我没有更好地解释,但你的答案正是我想要的。您对如何更好地完成任务有什么建议吗?请参见上面的编辑,这只是对速记/可读性的更改,我不认为有任何(有用的)性能优势。
for key, value in amazon.available_items.iteritems():
    print(value)