我有一个列表['a','b','c','d']
。我需要在此列表中构造一个dict
,列表中的所有元素都作为dict中的键,并为None
等所有元素提供一些默认值。
怎么做?我是否需要为此编写函数或是否有可用的构造函数?
答案 0 :(得分:5)
请参阅dict.fromkeys()
。
dict.fromkeys(['a','b','c','d'])
会返回一个字典,其中包含None
的所有值。
dict.fromkeys(['a','b','c','d'], foo)
会返回一个字典,其中包含foo
的所有值。
答案 1 :(得分:2)
您可以使用生成器将其快速转换为字典:
dict((x, None) for x in L)
(其中L是你的清单)
结果是:
{'a': None, 'c': None, 'b': None, 'd': None}
答案 2 :(得分:2)
您可以尝试:
dict.fromkeys(data, default_value)
如果省略default_value
,则默认为None
。
答案 3 :(得分:1)
lst = ['a','b','c','d']
# using list comprehension
d = dict([(x, None) for x in lst])
# using fromkeys
d = dict.fromkeys(lst)