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
答案 0 :(得分:1)
您的变量my_goods
是list
的dictionary
。该列表不允许使用键来访问项目,您必须使用整数。词典允许您使用“密钥”来访问它,并获取分配给该密钥的值。
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"])
打印“衬衫”。通过遍历列表索引,可以在所有字典中打印与“名称”键相对应的值。