как определить логический и строковый индекс в подсписке и удалить его - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть такой список:

A = [[1,2,3,4],[1,1,2,4],[1,2,3,False],[1,False,2,3],[1,2,3,4],[1,2,3,'word'],[5,6,7,8],[1,4,3,4],[True,1,2,4],[0,1,0,1],[0,0,0,0],[False,False,False,False]]

и я хочу выводить список вроде этого:

A = [[1,2,3,4],[1,1,2,4],[1,2,3,4],[5,6,7,8],[1,4,3,4],[0,1,0,1],[0,0,0,0]]

Я просто хочу удалить или удалить любой список. у него есть строковый или логический член. как я могу это сделать.

1 Ответ

0 голосов
/ 10 ноября 2018

Мы можем сделать это с помощью понимания списка, где мы выполняем фильтр с any(..), который проверяет, есть ли какой-либо элемент, который является экземпляром str или bool:

[sublist for sublist in A if not any(isinstance(e, (str, bool)) for e in sublist)]

тогда получается:

>>> [sublist for sublist in A if not any(isinstance(e, (str, bool)) for e in sublist)]
[[1, 2, 3, 4], [1, 1, 2, 4], [1, 2, 3, 4], [5, 6, 7, 8], [1, 4, 3, 4], [0, 1, 0, 1], [0, 0, 0, 0]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...