Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据数组中的条件选择数组中的数组?_Python_Python 3.x_Numpy - Fatal编程技术网

Python 根据数组中的条件选择数组中的数组?

Python 根据数组中的条件选择数组中的数组?,python,python-3.x,numpy,Python,Python 3.x,Numpy,我有这个阵列: a = [[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]] 我尝试过使用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]) 我希望它在a[I][3]中省略所有具有0的数组,也就是说,我希望我的输出为a=[[1,2,3,4],[1,4,6,8],删除最后

我有这个阵列:

a = [[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]]
我尝试过使用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])
我希望它在
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])

您可以使用列表:

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]]

您可以使用列表:

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]]

如果您需要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]]

如果您需要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]]

非常感谢你,这很有效,我在哪里可以找到这方面的资源这叫做列表理解,你可以找到关于它的不同文档,这里有一个例子。如果您认为答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于保持对仍然没有答案的老年人的关注。非常感谢,这很有效,我在哪里可以找到这方面的资源这就是所谓的列表理解,你可以找到关于它的不同文档,例如这里有一个。如果您认为答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的老年人身上。