查找其字段与值匹配的列表的所有元素

时间:2020-04-17 15:01:58

标签: python list generator

如果我有这样的列表:

../out/done

我想找到列表中所有值字段等于0的元素:

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

哪种方法最短?

2 个答案:

答案 0 :(得分:1)

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)

答案 1 :(得分:0)

列表理解应该可以解决问题

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

请注意,我使用not e.value是因为我认为它读起来更好,并且与变量名not_values更加一致,但是您也可以使用e.value == 0