I have a list of similar objects, some of them have a certain value set, here more specifically a boolean flag:
myList = [WhatEver(..., T开发者_运维问答rue, ...), WhatEver(..., True, ...), WhatEver(..., False, ...), WhatEver(..., True, ...), WhatEver(..., False, ...), ...]
Is there a painless way in Python to get a sub list of items whose value is set to a specific value, here either True
or False
?
Yes, there is. List comprehensions are a very good fit for this:
[item for item in myList if item.flag]
[item for item in myList if not item.flag]
where flag
is the name of WhatEver
's field that you want to check.
Use filter
:
filtered_list = filter(lambda item: item.flag, myList)
精彩评论