列表索引必须是整数或切片,而不是str - Python

时间:2017-05-10 18:28:26

标签: python string dictionary integer indices

我正在使用字典来编译关于股票等的数据但是当我来参考用户输入的gtin代码时,我得到错误'列表索引必须是整数或切片,而不是str - Python'

这是导致此问题的唯一代码部分:

tempStockLvl = [num]['STOCK_LEVEL']  # This is the line the error references
tempStockLvl = int(tempStockLvl)
tempStockLvl = tempStockLvl - quantity
stock[num]['STOCK_LEVEL'] = tempStockLvl

错误:

File "E:\Computer Science\CODE FINAL v2.py", line 206, in subtractQuant tempStockLvl = [num]['STOCK_LEVEL'] TypeError: list indices must be integers or slices, not str

提前感谢任何回答的人:D

1 个答案:

答案 0 :(得分:1)

你正在创建一个以num作为唯一元素的List,所以很明显它不能被index [0]以外的任何东西访问。

>>> num = 123
>>> l = [num]
>>> l
[123]
>>> l[0]
123
>>> [123]['anything']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not str
>>>

你的意思是写tempStockLvl = stock[num]['STOCK_LEVEL']吗?