Fie*_*d.D 3 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]}}
Run Code Online (Sandbox Code Playgroud)
里面的列表具有相同的长度.我需要将nest1和nest2合并为一个字典,结果应如下所示:
dictA={"nest":{"01feb":[2,4,6,8,10],"02feb":[7,11,16,19,20]}}
Run Code Online (Sandbox Code Playgroud)
您可以使用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)
Run Code Online (Sandbox Code Playgroud)
输出:
{'nest': {'02feb': [7, 11, 16, 19, 20], '01feb': [2, 4, 6, 8, 10]}}
Run Code Online (Sandbox Code Playgroud)