2024-03-28 22:52:49 发布
网友
我有一份口述清单:
d =[{'a': 4}, {'b': 20}, {'c': 5}, {'d': 3}]
我想删除大括号并将d转换为单个dict,如下所示:
d
覆盖现有密钥的值,一个残酷和缺乏经验的解决方案是
nd = {} for el in d: for k,v in el.items(): nd[k] = v
或者,作为字典理解:
如果您不介意用重复键替换以前的键,可以使用:
from functools import reduce # Python 3 compatibility d = reduce(lambda a, b: dict(a, **b), d)
这将合并前两个字典,然后将下面的每个字典合并到目前为止构建的结果中。在
演示:
您只需要迭代d并将(update())元素附加到一个新的dict中,例如newD。在
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}
注意:如果d中有重复的值,最后一个值将出现在newD中。在
覆盖现有密钥的值,一个残酷和缺乏经验的解决方案是
或者,作为字典理解:
^{pr2}$如果您不介意用重复键替换以前的键,可以使用:
这将合并前两个字典,然后将下面的每个字典合并到目前为止构建的结果中。在
演示:
^{pr2}$您只需要迭代
d
并将(update()
)元素附加到一个新的dict中,例如newD
。在注意:如果
d
中有重复的值,最后一个值将出现在newD
中。在相关问题 更多 >
编程相关推荐