如果我有一个这样的列表,我想找到列表中所有值域等于0的元素。
[element(name='A', value=0), element(name='B', value=1)]
我想找到列表中所有值域等于0的元素。
element[:].value == 0
哪种方法最快捷?
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)
列表理解法应该可以做到
not_values = [e for e in elements if not e.value]
请注意,我使用的是 not e.value
因为我觉得这样读起来更顺畅,而且和变量名也更一致。not_values
但你也可以用 e.value == 0
.