Python 键错误:1

-6 投票
2 回答
9117 浏览
提问于 2025-04-28 02:36

我在运行这段代码时遇到了一个键错误

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

撰写回答