Выбор массива массива на основе условия в массиве? - PullRequest
1 голос
/ 05 июля 2019

У меня есть этот массив:

a = [[255,255,255,0],[255,255,254,0],[1,2,3,4],[1,4,6,8],[1,5,7,0]]

Я пытался использовать numpy, но я не знаю, как это сделать дальше.

Я хочу, чтобы он пропустил весь массив массива, имеющий 0 в a[i][3], то есть я хочу, чтобы мой вывод был 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])

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Если вам нужно решение 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]]
0 голосов
/ 05 июля 2019

Вы можете использовать понимание списка:

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]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...