首页 > 解决方案 > 将列表中的元素添加到字典并增加值

问题描述

我有字典和清单。列表仅包含项目,字典包含项目以及我有多少给定项目。我要做的是遍历字典和列表,如果字典中的键与列表中的项相同,我只想将其值更新1,但如果没有我想要的相同项将项目表单列表添加到 dict 并将其值设置为 1。

stock = {apple: 1, banana: 4, orange: 10}
delivery = [apple, apple, grapefruit]

    for k, v in stock.items():
        for item in delivery:
            if item == stock[k]:
                stock[v] += 1
        else:
            stock.update({item:1})

输出应该是这样的:

stock = {apple: 3, banana: 4, orange: 10, grapefruit: 1}

但是我收到消息:字典在迭代期间更改了大小

标签: python

解决方案


您不应该更改dictlist迭代它。您可以编写如下代码:

stock = {'apple': 1, 'banana': 4, 'orange': 10}
delivery = ['apple', 'apple', 'grapefruit']

for item in delivery:
    if item in stock:
        stock[item] +=1
    else:
        stock[item] = 1

print(stock)

推荐阅读