Mam listę obiektów. Chcę znaleźć jeden (pierwszy lub dowolny) obiekt na tej liście, który ma atrybut (lub wynik metody - cokolwiek) równy value
.
Jak najlepiej to znaleźć?
Oto przypadek testowy:
class Test:
def __init__(self, value):
self.value = value
import random
value = 5
test_list = [Test(random.randint(0,100)) for x in range(1000)]
# that I would do in Pascal, I don't believe isn't anywhere near 'Pythonic'
for x in test_list:
if x.value == value:
print "i found it!"
break
Myślę, że korzystanie z generatorów reduce()
nie robi żadnej różnicy, ponieważ wciąż będzie iterować po liście.
ps .: Równanie do value
jest tylko przykładem. Oczywiście chcemy uzyskać element spełniający dowolny warunek.