首页 > 解决方案 > 如何填写嵌套字典的键

问题描述

我有一个嵌套字典,其值全为 0。例如

dic = {0:{'year': 0, 'drive': 0, 'local': 0,},
       1:{'day': 0, 'element': 0, 'party': 0},
       2:{'carry': 0}}

我还有一个单词列表:

wordlist = ['light', 'day', 'year', 'day', 'party', 'care', 'local']

我想检查单词列表中的每个单词是否出现在字典中,如果出现,则将相对键附加 1。

所以对于上面的例子,我想要以下输出:

dic = {0:{'year': 1, 'drive': 0, 'local': 1,},
       1:{'day': 2, 'element': 0, 'party': 1},
       2:{'carry': 0}}

标签: pythondictionarynested

解决方案


以下是使用嵌套for循环的方法:

dic = {0:{'year': 0, 'drive': 0, 'local': 0,},
       1:{'day': 0, 'element': 0, 'party': 0},
       2:{'carry': 0}}

wordlist = ['light', 'day', 'year', 'day', 'party', 'care', 'local']

for word in wordlist:
    for index in dic:
        if word in dic[index]:
            dic[index][word] += 1

输出:

{0: {'year': 1, 'drive': 0, 'local': 1}, 1: {'day': 2, 'element': 0, 'party': 1}, 2: {'carry': 0}}

推荐阅读