Python 键错误:1
我在运行这段代码时遇到了一个键错误
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
2 个回答
0
正如其他人所说,你把 列表
和 字典
搞混了。
有几种方法可以实现你想要的效果;
myDictionary = {
'coke': '1.50',
'mars': '1.00',
'fanta': '1.40',
'wispa': '1.50',
'galaxy': '2.00',
}
当你遍历一个字典时,你得到的是字典的 键
;
for item in myDictionary:
print item
这将会打印出
coke
mars
fanta
wispa
galaxy
如果你想要价格(我猜那就是你想要的),那么你也需要 值
。有两种方法可以做到这一点;
for item in myDictionary:
print item, myDictionary[item]
或者(在我看来,这种方法稍微干净一点):
for item, price in myDictionary.items():
print item, price
(我把你叫做 items
的字典改成了 myDictionary
,以避免可能造成的混淆,因为你想要获取 键
和 值
对的类方法叫做 .items()
)
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