如何解决python中的列表索引错误?我不明白

时间:2020-09-27 12:50:11

标签: python python-3.x list dictionary

  my_goods= [
  {"name": "shirt", "cost_price": 32.67, "sell_price": 45.00, "inventory": 1200},
  {"name": "ball", "cost_price": 225.89, "sell_price": 550.00, "inventory": 100},
  {"name": "dumbbell", "cost_price": 2.77, "sell_price": 7.95, "inventory": 8500}
          ]

  print(my_goods["name"])

这是错误的: 打印(my_goods [“ name”]) TypeError:列表索引必须是整数或切片,而不是str

2 个答案:

答案 0 :(得分:1)

您的变量my_goodslistdictionary。该列表不允许使用键来访问项目,您必须使用整数。词典允许您使用“密钥”来访问它,并获取分配给该密钥的值。

    print(type(my_goods))     # Returns <class 'list'>
    print(type(my_goods[0]))  # Returns <class 'dict'>

如果要获取name的值,则必须这样做:

    print(my_goods[0]["name"])   # Return shirt

您可以像这样遍历列表:

for x in my_goods:
    print(x['name'])
#OUTPUT 1: shirt
#OUTPUT 2: ball
#OUTPUT 3: dumbbell

在这种情况下,您要为每个词典打印键值。

答案 1 :(得分:0)

my_goods是词典列表,而不是字典。

例如,尝试print(my_goods[0]["name"])打印“衬衫”。通过遍历列表索引,可以在所有字典中打印与“名称”键相对应的值。