Найти все элементы списка, чьи поля совпадают со значением - PullRequest
0 голосов
/ 17 апреля 2020

Если бы у меня был такой список:

[element(name='A', value=0), element(name='B', value=1)]

Я бы хотел найти все элементы списка, значение поля которых равно 0:

element[:].value == 0

Что бы кратчайший путь?

Ответы [ 2 ]

1 голос
/ 17 апреля 2020
elements = [element(name='A', value=0), element(name='B', value=1)]
matches = [element for element in elements if element.value == 0]

Чтобы получить имена из всех матчей:

names = [element.name for element in matches]
print(names)
0 голосов
/ 17 апреля 2020

Понимание списка должно сработать

not_values = [e for e in elements if not e.value] 

Обратите внимание, что я использую not e.value, потому что я думаю, что он читается лучше и более согласованно с именем переменной not_values, но вы также можете использовать e.value == 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...