您可以通过列表理解获得 所有 匹配元素的列表:
[x for x in myList if x.n == 30] # list of all elements with .n==30
如果您只是想确定列表中是否包含 任何 匹配的元素并(相对)有效地进行操作,则可以
def contains(list, filter):
for x in list:
if filter(x):
return True
return False
if contains(myList, lambda x: x.n == 3) # True if any element has .n==3
# do stuff