如何将听写列表合并为单个听写?

2024-05-14 09:47:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎么能把这样的口述清单

[{'a':1}, {'b':2}, {'c':1}, {'d':2}]

变成这样的一句话

{'a':1, 'b':2, 'c':1, 'd':2}

Tags: 口述
3条回答

对于Python 3.3+,有一个^{} collection

>>> from collections import ChainMap
>>> a = [{'a':1},{'b':2},{'c':1},{'d':2}]
>>> dict(ChainMap(*a))
{'b': 2, 'c': 1, 'a': 1, 'd': 2}

另见:

这适用于任何长度的词典:

>>> result = {}
>>> for d in L:
...    result.update(d)
... 
>>> result
{'a':1,'c':1,'b':2,'d':2}

作为comprehension

# Python >= 2.7
{k: v for d in L for k, v in d.items()}

# Python < 2.7
dict(pair for d in L for pair in d.items())
>>> L=[{'a': 1}, {'b': 2}, {'c': 1}, {'d': 2}]    
>>> dict(i.items()[0] for i in L)
{'a': 1, 'c': 1, 'b': 2, 'd': 2}

注意:“b”和“c”的顺序与您的输出不匹配,因为dicts是无序的

如果dicts可以有多个键/值

>>> dict(j for i in L for j in i.items())

相关问题 更多 >

    热门问题