用矩阵遍历字典

Iterate through a dictionary with matrix

我有这 2 个矩阵:

x = np.matrix("1 2 3; 4 5 6")
y = np.matrix("7 8 9; 10 11 12")

...然后我将它们放入字典

d = {"a" : x, "b": y}

现在我想提取矩阵中具有相同位置的值,像这样:1,7...2,8...3,9...等等直到 6,12 (预期输出)。

我只能手动完成,像这样:

   [value[0,0] for value in d.values()]

我正在尝试为此构建一个循环,但未能成功。

有人可以帮帮我吗?

您可以这样做:

values = zip(*d.values()) # gives [([1, 2, 3], [7, 8, 9]), ([4, 5, 6], [10, 11, 12])]
pairs = []
for value in values:
    pairs.extend(zip(*value)) #adds (1, 7), (2, 8), ... to pairs list

for pair in pairs:
    print(pair)

输出:

(1, 7)
(2, 8)
(3, 9)
(4, 10)
(5, 11)
(6, 12)