Ich habe eine Liste von Objekten. Ich möchte ein (erstes oder beliebiges) Objekt in dieser Liste finden, das ein Attribut (oder ein Methodenergebnis - was auch immer) hat, das gleich ist value
.
Wie findet man sie am besten?
Hier ist ein Testfall:
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 it's anywhere near 'Pythonic'
for x in test_list:
if x.value == value:
print "i found it!"
break
Ich denke, die Verwendung von Generatoren und reduce()
macht keinen Unterschied, da die Liste weiterhin durchlaufen wird.
ps.: Gleichung zu value
ist nur ein Beispiel. Natürlich wollen wir ein Element erhalten, das eine beliebige Bedingung erfüllt.