这个错误没有意义,有人可以尝试解决它

时间:2017-07-27 20:02:07

标签: python debugging

当我为购物清单创建者调试我的代码时,我遇到了一个我无法理解的错误:

TypeError: string indices must be integers

有谁知道这意味着什么? 提出的代码是:

for x in stock:
    for y in products:
        print(str(product[y]) + ": " + str(stock[x]))

产品是一个列表,股票是字典。

3 个答案:

答案 0 :(得分:1)

假设productstock是列表,您的代码应为:

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的元素而不是其索引