Tengo una lista de objetos. Quiero encontrar un objeto (primero o lo que sea) en esta lista que tenga un atributo (o resultado del método, lo que sea) igual a value
.
¿Cuál es la mejor manera de encontrarlo?
Aquí está el caso de prueba:
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
Creo que usar generadores y reduce()
no hará ninguna diferencia porque todavía estaría iterando a través de la lista.
ps .: La ecuación de value
es solo un ejemplo. Por supuesto, queremos obtener un elemento que cumpla con cualquier condición.