在Python中将列表转换为字典

4

我看了很多问题,但都没有找到我需要的内容。 我有一个列表,类似于这样:[2, 3, 5, 7, 11]
我想将它转换成以下格式的字典: 也就是说,列表的值应该成为字典的键,每个相关联的值应该为零。 {2:0 , 3:0 , 5:0 , 7:0 , 11:0}


{x:0 for x in a} 其中 a 是你的初始列表 - Carles Mitjans
2个回答

18
一个字典解析就可以了。
my_list = [2, 3, 5, 7, 11]
my_dict = {k: 0 for k in my_list}  # {2:0 , 3:0 , 5:0 , 7:0 , 11:0}

即使您完全不熟悉推导式,您仍然可以使用显式的for循环:

my_dict = {}
for k in my_list:
    my_dict[k] = 0

6
甚至可以使用 dict.fromkeys(my_list,0) - Chris_Rands
2
在 Stack Overflow 上有很多这个答案的重复。如果 OP 实际上只是谷歌他的问题,它会链接至少 3 个……也许尝试标记它而不是促进这种行为。但无论如何,这是一个答案。 - MooingRawr
1
其实我不知道要搜索什么确切的术语。 :p - codenamered5
针对特定密钥还是所有密钥? - Ma0
for item in my_other_list: if item in my_dict: my_dict[item] += 1 - Ma0
显示剩余2条评论

1
另一个解决方案:

l =  [2, 3, 5, 7, 11]
d = {}

for item in l:
    d[item] = 0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接