我有一些字典:
d =[{'a': 4}, {'b': 20}, {'c': 5}, {'d': 3}]
Run Code Online (Sandbox Code Playgroud)
我想删除花括号并转换d
为如下所示的单个字典:
d ={'a': 4, 'b': 20, 'c': 5, 'd': 3}
Run Code Online (Sandbox Code Playgroud)
如果您不介意将重复的键替换为较早的键,则可以使用:
from functools import reduce # Python 3 compatibility
d = reduce(lambda a, b: dict(a, **b), d)
Run Code Online (Sandbox Code Playgroud)
这将合并前两个词典,然后将每个随后的词典合并到到目前为止构建的结果中。
演示:
>>> d =[{'a': 4}, {'b': 20}, {'c': 5}, {'d': 3}]
>>> reduce(lambda a, b: dict(a, **b), d)
{'a': 4, 'c': 5, 'b': 20, 'd': 3}
Run Code Online (Sandbox Code Playgroud)
您只需要迭代并将元素d
追加( )到一个新的字典中,例如。 update()
newD
d =[{'a': 4}, {'b': 20}, {'c': 5}, {'d': 3}]
newD = {}
for entry in d:
newD.update(entry)
>>> newD
{'c': 5, 'b': 20, 'a': 4, 'd': 3}
Run Code Online (Sandbox Code Playgroud)
注意:如果最后一项有重复值,d
将会出现在 中newD
。
归档时间: |
|
查看次数: |
2177 次 |
最近记录: |