Python的主要错误:1
问题描述:
我得到一个关键的错误与此代码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
答
我觉得你与类型的字典混淆名单。
您的items
字典的键是'焦炭','火星','幻想'等,这就是你如何访问它像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
答
正如其他人所说,你混淆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()
)
好吧,这工作的感谢和感谢的格式:) – 2014-10-17 15:55:41