在这种简化的形式中,我希望在迭代类的字典时返回bar1的值,以避免需要列表的库出现问题
class classTest:
def __init__(self, foo):
self.bar1 = foo
def __iter__(self):
for k in self.keys():
yield self[k].bar1
aDict = {}
aDict["foo"] = classTest("xx")
aDict["bar"] = classTest("yy")
for i in aDict:
print i
电流输出为
foo
bar
我的目标是这个输出是
xx
yy
我错过了什么来让它工作?或者这是可能的
你在打印钥匙。改为打印值:
或者您可以直接迭代这些值:
您的
classTest
类上的__iter__
没有被使用,因为您没有迭代classTest
对象(不是说它写得有道理。)你不是在类上迭代,而是在字典上迭代。而且你的类没有
__getitem__
-方法,所以你的__iter__
甚至不能工作为了得到你的结果,你可以
相关问题 更多 >
编程相关推荐