408 Stimmen

Suche nach Objekten in der Liste, deren Attribut gleich einem Wert ist (der eine beliebige Bedingung erfüllt)

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X