假设我有一个字典列表,如下所示:
dictionList = {1: {'Type': 'Cat', 'Legs': 4},
2: {'Type': 'Dog', 'Legs': 4},
3: {'Type': 'Bird', 'Legs': 2}}
使用 for 循环,我想迭代列表,直到捕获带有 a 的字典Type
场等于"Dog"
。
我最好的尝试是:
for i in dictionList:
if dictionList(i['Type']) == "Dog":
print "Found dog!"
但这让我出现以下错误:
TypeError: 'int' object has no attribute '__getitem__'
关于如何正确执行此操作有什么想法吗?
Use the values
字典的迭代器:
for v in dictionList.values():
if v['Type']=='Dog':
print "Found a dog!"
编辑:我会说,在你原来的问题中,你要求检查Type
字典中的值,这有点误导。您所请求的是a的内容value称为“类型”。这对于理解你想要什么来说可能是一个微妙的差异,但在编程方面却是一个相当大的差异。
在 Python 中,您应该很少需要对任何内容进行类型检查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)