python - 如何在同一词典下合并两个嵌套词典

标签 python dictionary array-merge

例如我有一本字典:

dictA={"nest1":{"01feb":[1,2,3,4,5],"02feb":[1,7,8,9,10]},
       "nest2":{"01feb":[1,2,3,4,5],"02feb":[6,4,8,10,10]}}

里面的列表长度是一样的。我需要将 nest1nest2 合并为一个字典,结果应该是这样的:

dictA={"nest":{"01feb":[2,4,6,8,10],"02feb":[7,11,16,19,20]}}

最佳答案

您可以使用 dict comprehension , map()zip()像这个例子(适用于 Python 2 和 Python 3)。

dictA = {'nest1': {'01feb': [1, 2, 3, 4, 5], '02feb': [1, 7, 8, 9, 10]},
 'nest2': {'01feb': [1, 2, 3, 4, 5], '02feb': [6, 4, 8, 10, 10]}}

a = (v.items() for _, v in map(list, dictA.items()))
# You can also use another map():
# final = {'nest': {k: list(map(sum, zip(v,j))) for (k, v), (_, j) in zip(*a)}}
final = {'nest': {k: [m+n for m, n in zip(v, j)] for (k, v), (_, j) in zip(*a)}}

print(final)

输出:

{'nest': {'02feb': [7, 11, 16, 19, 20], '01feb': [2, 4, 6, 8, 10]}}

关于python - 如何在同一词典下合并两个嵌套词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601256/

相关文章:

python - 为什么我的 move_rectangle 函数会更改两个单独的 Rectangle 对象的角属性?

Python:子类化整个层次结构

python - 如何拆分整个pandas DataFrame以列出并选择第n个元素

javascript - 如何仅在需要时自动更新 Django 页面?

python - 如何计算首字母大写的单词出现的比例

javascript - 对象问题中的 Jquery 对象

python - 打印排序的字典键和排序的值

PHP array_merge 键顺序

php - 可以合并两个以上具有不同元素编号的二维数组吗?

mysql - 在codeigniter中增加子元素数据库获取