Dict建筑与列表中的元素

时间:2011-09-29 03:22:55

标签: python dictionary

我有一个列表['a','b','c','d']。我需要在此列表中构造一个dict,列表中的所有元素都作为dict中的键,并为None等所有元素提供一些默认值。

怎么做?我是否需要为此编写函数或是否有可用的构造函数?

4 个答案:

答案 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)
相关问题