【发布时间】:2019-06-05 09:50:09
【问题描述】:
我有一个矩阵,想得到最后一个非负元素。我碰巧已经在数组 b
中有这些索引 a= [[3, 4, 1, 0, 0, 0, 0, 0, 0],
[6, 0, 0, 0, 0, 0, 0, 0, 0],
[24,5, 6, 7, 7, 78, 0, 0, 0],
[4, 56, 0, 0, 0, 0, 0, 0, 0],
[23, 5, 7, 11, 12, 52, 65, 54, 0]]
b = [2, 0, 5, 1, 7]
有没有一种优雅的方法来添加最后的非零元素?
c = [1, 6, 78, 56, 54] from a?
循环有效,但不是很pythonic。
【问题讨论】:
-
他们会一直以
0结尾吗?或者这可能[1,2,0,0,3,0,0] -
是的,但这并不重要,因为我知道我想要的每一行元素的索引。
-
给定
b,使用索引-np.take_along_axis(a,b[:,None],axis=1).ravel()。 -
这个最快,谢谢!