Python密钥错误:1

时间:2014-10-17 10:15:57

标签: python

我收到此代码的密钥错误

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 :(得分: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)

正如其他人所说,你会混淆listsdictionaries

有几种方法可以做你想要的事情;

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()