我有这个数组:
a = [[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]]
我尝试使用numpy,但我不知道该如何做。
我希望它省略a[i][3]
中所有具有0的数组,也就是说,我希望输出为a=[[1,2,3,4],[1,4,6,8]]
,删除其最后一个索引中所有具有零的数组。我是python的初学者,我想知道执行此操作的最佳方法,谢谢。
我尝试使用numpy,但我不知道该如何做。
a=[[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]]
print(a[:,a!=0])
答案 0 :(得分:0)
您可以使用列表理解:
a = [[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]]
a = [x for x in a if x[3] != 0]
输出:
[[1, 2, 3, 4], [1, 4, 6, 8]]
答案 1 :(得分:0)
如果您需要numpy解决方案。
a = np.array([[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]])
mask = a[:, 3] != 0
print(a[mask])
输出:
[[1 2 3 4]
[1 4 6 8]]