python学习小笔记之np.tril_indices_from

B = np.array([[1,0,0,0],[1,1,0,0], [1,1,1,0],[1,1,1,1]])
输出结果:
array([[1, 0, 0, 0],
[1, 1, 0, 0],
[1, 1, 1, 0],
[1, 1, 1, 1]])
r = np.tril_indices_from(B)
输出结果:
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3], dtype=int64),
array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3], dtype=int64))

可以对列表的索引变成了两个数组,在大量数据的时候可以很方便索引值。
比如

for coord in zip(*r):
B[coord[0], coord[1]] = 0

我们就得到了一个上三角矩阵
array([[0, 0, 0, 0],
       [0, 0, 1, 1],
       [0, 0, 0, 0],
       [0, 0, 0, 0]])

你可能感兴趣的:(自己笔记,python)