Дикт конструкции с элементами в списке - PullRequest
3 голосов
/ 29 сентября 2011

У меня есть список ['a','b','c','d'].Мне нужно создать dict из этого списка со всеми элементами списка в качестве ключей в dict с некоторым значением по умолчанию для всех элементов, таких как None.

Как это сделать?Мне нужно написать функцию для этого или есть конструктор?

Ответы [ 4 ]

5 голосов
/ 29 сентября 2011

См. dict.fromkeys().

dict.fromkeys(['a','b','c','d']) вернет словарь с None для всех его значений.

dict.fromkeys(['a','b','c','d'], foo) вернет словарьс foo для всех его значений.

2 голосов
/ 29 сентября 2011

Вы можете попробовать:

dict.fromkeys(data, default_value)

Если вы опустите default_value, по умолчанию будет None.

2 голосов
/ 29 сентября 2011

Вы можете использовать генератор, чтобы быстро преобразовать его в словарь:

dict((x, None) for x in L)

(где L - ваш список)

В результате:

{'a': None, 'c': None, 'b': None, 'd': None}
1 голос
/ 29 сентября 2011
lst = ['a','b','c','d']

# using list comprehension
d = dict([(x, None) for x in lst])

# using fromkeys
d = dict.fromkeys(lst)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...