如果我有这样的列表:
../out/done
我想找到列表中所有值字段等于0的元素:
[element(name='A', value=0), element(name='B', value=1)]
哪种方法最短?
答案 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
。