【发布时间】:2019-04-30 19:34:28
【问题描述】:
假设我有两个具有相同键的字典,并且所有值都是 2x2 numpy 数组。假设:
- 字典有相同的键
- 对于所有字典和键,每个值都是一个 2x2 numpy 数组。
x1 和 x2 是示例字典。
x1 = {k: np.random.randint(20, size=(2, 2)) for k in range(5)}
x2 = {k: np.random.randint(20, size=(2, 2)) for k in range(5)}
我想通过它们的键将 x1 和 x2 加在一起,结果将是一个新字典。
如果……
x1[0] = [[1,2],[3,4]]
还有……
x2[0] = [[10,20],[30,40]]
key = 0 时的新字典值,将是...
x_total[0] = [[11,22],[33,44]]
下一步将对许多具有这种结构的字典执行此操作。我正在考虑在 for 循环中执行此操作,但如果有更有效的解决方案,我很想了解它们。
我已经尝试了使用集合库的以下方法
from collections import Counter
a = Counter(x1[0])
b = Counter(x2[0])
c = dict(a + b)
但我认为如果值是数组,这可能不适用。
我也知道np.add(x1[0], x2[0]) 会导致数组的添加,但我想一次对所有键执行此操作.. 如果可能的话。
【问题讨论】:
标签: python dictionary numpy-ndarray