Как отфильтровать очищенный объект списка по значению? - PullRequest
0 голосов
/ 21 марта 2020

В NumPy вы можете фильтровать данные массива в массиве по значению, например, так:

L = [[str(j) + str (i) for i in range(5)] for j in range(5)] 
# [['00' '01' '02'] 
# ['10' '11' '12'] 
# ['20' '21' '22']]

Чтобы узнать, какое значение находится в 1-м столбце строки, содержащей значение «22» в третьем столбце должно иметь следующее значение:

print(A1[A1[:,2] == '22', 3]) 
#['20'] 

Как выполнить такую ​​фильтрацию в обычном двумерном массиве типа list?

Или это необходимо перевести на NumPy?

Ответы [ 2 ]

0 голосов
/ 21 марта 2020

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

L = [[str(j) + str (i) for i in range(5)] for j in range(5)] 

[l[0] for l in L if l[2] == '22']

вы выполняете итерацию по фильтрации строк по столбцу 3 (индекс 2) и сохраняете элемент из первого столбца (индекс 0)

вывод:

['20']
0 голосов
/ 21 марта 2020

Я не думаю, что вам необходимо преобразовывать вложенный список в массив numpy.

Вы можете легко выполнить запрошенные операции, как показано в коде ниже

L = [[2, 1, 0], [12, 10, 11], [21, 22, 20]]

L = [sorted(l) for l in L]

if(L[2][2]==22):
    print(L[2][0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...