Eu tenho uma lista de objetos. Eu quero encontrar um (primeiro ou qualquer outro objeto) nesta lista que tenha atributo (ou resultado do método - qualquer que seja) igual a value
.
Qual é a melhor maneira de encontrá-lo?
Aqui está o caso de teste:
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
Eu acho que usar geradores e reduce()
não fará nenhuma diferença, porque ainda estaria percorrendo a lista.
ps .: A equação para value
é apenas um exemplo. Claro que queremos obter um elemento que atenda a qualquer condição.