创建具有相同值的字典

NIl*_*rma 6 python dictionary

假设我有字典a = {},我希望得到这样的结果

value = 12
a = {'a':value,'b':value,'f':value,'h':value,'p':value}
Run Code Online (Sandbox Code Playgroud)

对许多人来说等等keys:same value.我当然可以这样做

a.update({'a':value})
a.update({'b':value})
Run Code Online (Sandbox Code Playgroud)

等等......但由于所有键的值都相同,我们不是有更多的pythonic方法吗?

Val*_*ior 22

你可以使用dict comprehensions(python 2.7+):

>>> v = 12
>>> d = {k:v for k in 'abfhp'}
>>> print d
{'a': 12, 'h': 12, 'b': 12, 'p': 12, 'f': 12}
Run Code Online (Sandbox Code Playgroud)


Bor*_*jaX 9

如何用你想要的键和一个默认值创建一个新的字典?检查fromkeys方法.

>>> value=12
>>> a=dict.fromkeys(['a', 'b', 'f', 'h', 'p'], value)
>>> print a
{'a': 12, 'h': 12, 'b': 12, 'p': 12, 'f': 12}
Run Code Online (Sandbox Code Playgroud)

  • `fromkeys()`是一个类方法,因此在`dict`之后你不需要parens. (2认同)