Python 创建具有默认值的词典列表

Python 创建具有默认值的词典列表,python,python-2.7,Python,Python 2.7,我有一组字符串,如: ('abc', 'def', 'xyz') 我想将这些字符串用作键“类型”的值,并将两个额外的键值对关联到每个键值,为每个额外的键提供一个默认值,如下所示: resulting_list_of_dicts = [{'type' : 'abc' ,'extra_key1' : 0, 'extra_key2' : 'no'}, {'type' : 'def' ,'extra_key1' : 0, 'extra_key2'

我有一组字符串,如:

('abc', 'def', 'xyz')
我想将这些字符串用作键“类型”的值,并将两个额外的键值对关联到每个键值,为每个额外的键提供一个默认值,如下所示:

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'}]

在Python2.7中如何(巧妙地)做到这一点

您可以使用列表理解。我想这是你想要的

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


dict
不是可散列类型,因此它不能是集合的项。你想要一份目录吗?@alecxe:是的,我更正了这个问题,谢谢
strings = [ 'abc', 'def', 'xyz' ]
defaults = { 'extra_key1':0, 'extra_key2':'no' }
result = [ { 'type': type }.update( defaults ) for type in strings ]