Python: подсписок предметов в зависимости от определенного значения предметов, например логический - PullRequest
2 голосов
/ 20 июля 2011

У меня есть список похожих объектов, некоторые из них имеют определенный набор значений, здесь, в частности, логический флаг:

myList = [WhatEver(..., True, ...), WhatEver(..., True, ...), WhatEver(..., False, ...), WhatEver(..., True, ...), WhatEver(..., False, ...), ...]

Есть ли в Python безболезненный способ получения подсписка элементовчье значение установлено на конкретное значение, здесь либо True, либо False?

Ответы [ 2 ]

7 голосов
/ 20 июля 2011

Да, есть. Понимания списка очень хорошо подходят для этого:

[item for item in myList if item.flag]
[item for item in myList if not item.flag]

, где flag - это имя поля WhatEver, которое вы хотите проверить.

1 голос
/ 20 июля 2011

Использование filter:

filtered_list = filter(lambda item: item.flag, myList)
...