Der folgende Code ist effizient, flexibel und präzise, wenn Sie target_list linear untersuchen.
next(( {x} for {x} in {target_list} if {condition} ),None)
Die zweite Variable ist der Wert, der zurückgegeben wird, wenn er nicht gefunden wird.
Durch die Verwendung von next ist es möglich, die erste unter den Bedingungen abzurufen, was effizient ist.
Beispiel
class Hoge(object):
def __init__(self,x,y):
self.x=x
self.y=y
hoge_list=[Hoge(10,20),Hoge(10,30),Hoge(5,3),...]
found=next( (hoge for hoge in hoge_list if hoge.x==10 and hoge.y==30) ,None)
Referenz http://dev.ionous.net/2009/01/python-find-item-in-list.html