当我为购物清单创建者调试我的代码时,我遇到了一个我无法理解的错误:
TypeError: string indices must be integers
有谁知道这意味着什么? 提出的代码是:
for x in stock:
for y in products:
print(str(product[y]) + ": " + str(stock[x]))
产品是一个列表,股票是字典。
答案 0 :(得分:1)
假设product
和stock
是列表,您的代码应为:
for x in stock:
for y in products:
print(y + ": " + stock[x])
编辑:如果您尝试打印与stock
相对应的product
金额,则可以执行以下操作:
for product in products:
print(product + ':' + stock[product])
for x in list :x将从第一个元素开始轮流获取每个元素的值
for x in dictionary :x将获取每个键的值,然后您可以使用dict [key]
访问该值答案 1 :(得分:1)
遍历产品列表中的产品,并在产品列表中获取带有名称的股票字典值。
for p in products:
print(p + ": " + str(stock[p]))
答案 2 :(得分:0)
您需要将最后一行更改为
print(str(y) + ": " + str(stock[x]))
由于两者都保持str
类型,因此您也可以删除str()
:
print(y + ": " + stock[x])
for
循环为variable
提供list
和的元素而不是其索引