我收到此代码的密钥错误
items = {
'coke': '1.50',
'mars': '1.00',
'fanta': '1.40',
'wispa': '1.50',
'galaxy': '2.00',
}
def list_items():
for x in range(0,len(items)):
print("Item:", items[x])
这是错误日志
line 12, in list_items
print("Item:", items[x])
KeyError: 0
答案 0 :(得分:2)
我认为你的名单令人困惑。
items
词典中的键是'coke','mars','fanta'等等,这就是你items['coke']
的访问方式。
要迭代这些项目,这种情况更常见:
>>> def list_items():
... for k,v in items.items():
... print("{}: {}".format(k, v))
...
>>> list_items()
coke: 1.50
mars: 1.00
galaxy: 2.00
wispa: 1.50
fanta: 1.40
答案 1 :(得分:0)
正如其他人所说,你会混淆lists
和dictionaries
。
有几种方法可以做你想要的事情;
myDictionary = {
'coke': '1.50',
'mars': '1.00',
'fanta': '1.40',
'wispa': '1.50',
'galaxy': '2.00',
}
当您遍历字典时,您将获得字典的keys
;
for item in myDictionary:
print item
这将打印
coke
mars
fanta
wispa
galaxy
如果你想要价格(我猜它们是什么),那么你也需要values
。有两种方法可以做到这一点;
for item in myDictionary:
print item, myDictionary[item]
或(在我看来,这有点干净):
for item, price in myDictionary.items():
print item, price
(我将您的词典items
更改为myDictionary
,以避免可能造成的任何混淆,因为您想要获取key
value
的类方法对被称为.items()
)