【发布时间】:2017-06-25 22:38:28
【问题描述】:
我需要将for 循环转换为使用矩阵形式的表达式。我有一个列表列表、一个索引列表和一个名为“toSave”的形状 (4,2) 矩阵:
import numpy as np
M = [list() for i in range(3)]
indices= [1,1,0,1]
toSave = np.array([[0, 0],
[0, 1],
[0, 2],
[0, 3]])
对于索引中的每个索引i,我想保存与索引中索引i 的位置相对应的行:
for n, i in enumerate(indices):
M[i].append(toSave[n])
结果是:
M=[[[0, 2]], [[0, 0], [0, 1], [0, 3]], []]
是否可以使用矩阵表达式来代替 for 循环,例如 M[indices].append(toSave[range(4)]) ?
【问题讨论】:
-
indices在这里做什么?