首页 > 解决方案 > 如何使用类实例遍历字典?

问题描述

我是一名实习生,并尝试实现一个字典类。我需要循环并打印类中的对象。我的代码是:

class Shop:
    def __init__(self,prodid, prodname, prodtype, prodrating):
        self.prodid = prodid
        self.prodname = prodname
        self.prodtype = prodtype
        self.prodrating = prodrating

b1 = Shop("ID1", "My-Bot1", "Fashion1", 5)
b2 = Shop("ID2", "My-Bot2", "Fashion2", 6)
b3 = Shop("ID3", "My-Bot3", "Fashion3", 7)

b4 = Shop("ID4", "My-Bot2", "new born", 6)
b5 = Shop("ID5", "My-Bot3", "newborn", 7)

myDict = {}
myDict["clothing"] =  [b1,b2,b3]
myDict["infant"] =  [b4,b5]

for items in myDict.items():
    for item in items:
        print(item)

我无法遍历类实例并打印值。

标签: python

解决方案


如果您只想打印出对象(我想您会想要实现一个__repr__方法),那么您可以这样做:

for shops in myDict.values():
    for shop in shops:
        print(shop)

请注意,如果您正在使用dict.items()它将返回元组,(key, value)因此您需要for key, items in myDict.items()为原始示例执行此操作。


推荐阅读