我的代码是一个字典,其值为2d列表。我需要编写一个函数来汇总字典中每个列表中的所有相同的索引号。以下是我到目前为止的情况:
def totalQty(theInventory):
totalQuantity = 0
for key in theInventory:
for book in key:
totalQuantity += book[3]
theInventory是字典,book是存储在字典中的每个列表。我一直收到这个错误:
builtins.IndexError: string index out of range
答案 0 :(得分:2)
在dict中for key in theInventory
不会为每个元素提供每个元素,而是每个元素的键,因此您必须通过theInventory[key]
你也可以使用for key, value in theInentory.items()
。然后你可以迭代value
。
尝试:
for key, value in theInventory.items():
for book in value:
totalQuantity += int(book[3])
答案 1 :(得分:0)
def totalQty(theInventory):
totalQuantity = 0
for key in theInventory:
totalQuantity += theInventory[key][3]
键变量是键名而不是列表
的字符串