如何创建一个字典,其中键来自列表,值默认为(比如)零?

2024-04-16 19:33:36 发布

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

我有a = [1,2,3,4]我想要d = {1:0, 2:0, 3:0, 4:0}

d = dict(zip(q,[0 for x in range(0,len(q))]))

工作但很难看。什么方法更干净?


Tags: 方法inforlenrangezipdict
3条回答

dict((el,0) for el in a)会工作得很好。

Python2.7及更高版本也支持听写理解。这个语法是{el:0 for el in a}

在python版本中>;=2.7和python 3中:

d = {el:0 for el in a}
d = dict.fromkeys(a, 0)

a是列表,0是默认值。注意不要将默认值设置为某个可变对象(即list或dict),因为它将是一个用作字典中每个键的值的对象(请检查here以获取此情况的解决方案)。数字/字符串是安全的。

相关问题 更多 >