2013-09-06 3 views
3

У меня есть набор строк, как:Создание списка словарей со значениями по умолчанию

('abc', 'def', 'xyz') 

Я хочу использовать эти строки как значений «типа» ключ и связать 2 дополнительных пар ключ-значение каждая, что дает значение по умолчанию для каждого дополнительного ключа, например:

resulting_list_of_dicts = [{'type' : 'abc' ,'extra_key1' : 0, 'extra_key2' : 'no'}, 
          {'type' : 'def' ,'extra_key1' : 0, 'extra_key2' : 'no'}, 
          {'type' : 'xyz' ,'extra_key1' : 0, 'extra_key2' : 'no'}] 

Как я могу это сделать (бойко) в Python 2.7?

+0

'dict' не hashable типа, поэтому он не может быть элементом множества. Вам нужен список dicts? – alecxe

+0

@alecxe: да, я сделал исправление на вопрос, спасибо – andandandand

ответ

3

Вы можете просто использовать понимание списка. Я предполагаю, что это возвращает то, что вы хотите

strings = [ 'abc', 'def', 'xyz' ] 
result = [ { 'type': type, 'extra_key1':0, 'extra_key2':'no' } for type in strings ] 

или

strings = [ 'abc', 'def', 'xyz' ] 
defaults = { 'extra_key1':0, 'extra_key2':'no' } 
result = [ { 'type': type }.update(defaults) for type in strings ] 
Смежные вопросы