如何在字典中的2d列表的列中添加所有元素? Python 3

时间:2017-12-02 22:27:29

标签: python dictionary 2d

我的代码是一个字典,其值为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

2 个答案:

答案 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]

键变量是键名而不是列表

的字符串