在 Python 中:从键列表创建字典,但将所有值设置为 0?

Luk*_*est 1 python dictionary list

我找到了从两个列表创建字典的优雅解决方案:

keys = [a, b, c]
values = [1, 2, 3]
list_dict = {k:v for k,v in zip(keys, values)}
Run Code Online (Sandbox Code Playgroud)

但是我无法为每个键具有单个值 (0) 的键列表编写一些内容。我试过做这样的事情:

list_dict = {k:v for k,v in (zip(keys,[0 for i in range(keys)]))}
Run Code Online (Sandbox Code Playgroud)

但是应该可以使用简单的语法,例如:

dict_totals = {k:v for k,v in zip(keys,range(0,3))}
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像 {a:0, b:0, c:0}。我错过了一些明显的东西吗?

wim*_*wim 6

使用dict.fromkeys备用初始化程序:

dict.fromkeys(keys, 0)
Run Code Online (Sandbox Code Playgroud)

并为您提供一种更简单的方法来完成第一个:

dict(zip(keys, values))
Run Code Online (Sandbox Code Playgroud)

  • …而且,如果你想使用字典理解来做到这一点,它只是 `list_dict = {k:0 for k in keys}` - 这没什么复杂的...... (5认同)