Python从键列表生成一个动态嵌套字典

2024-09-30 20:36:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我的清单如下:

dict = {'candidate1':{'preference1':0,'preference2':0,'preference3':0,'preference4':0},
            'candidate2':{'preference1':0,'preference2':0,'preference3':0,'preference4':0},
            'candidate3':{'preference1':0,'preference2':0,'preference3':0,'preference4':0},
            'candidate4':{'preference1':0,'preference2':0,'preference3':0,'preference4':0}
        .
        .
        . 
        }

如何创建一个动态嵌套字典,它以列表的形式接收输入,并以上面的形式创建一个字典

lst = ['user1','user2','user3']

候选人将被替换为lst中的名字。 谢谢


Tags: 列表字典动态dict形式lstuser1candidate2
2条回答

像这样

lst = ['user1', 'user2', 'user3']
d = {x: {'preference' + str(i): 0 for i in range(1,5)} for x in lst}

结果

d = {'user1': {'preference1': 0, 'preference2': 0, 'preference3': 0, 'preference4': 0},
     'user2': {'preference1': 0, 'preference2': 0, 'preference3': 0, 'preference4': 0},
     'user3': {'preference1': 0, 'preference2': 0, 'preference3': 0, 'preference4': 0}}

这对你有用吗

{k: {'preference1': 0, 'preference2': 0, 'preference3': 0, 'preference4': 0} for k in lst}

相关问题 更多 >