Ich brauche eine Funktion, die in der Lage ist, über die Sammlung zu iterieren, indem sie eine übergebene Funktion mit dem Element der Sammlung als Parameter aufruft und den Parameter oder den Index zurückgibt, wenn sie von der angegebenen Funktion "True" erhalten.Python - funktional "finden"?
Es ist somethong wie folgt aus:
def find(f, seq, index_only=True, item_only=False):
"""Return first item in sequence where f(item) == True."""
index = 0
for item in seq:
if f(item):
if index_only:
return index
if item_only:
return item
return index, item
index+= 1
raise KeyError
Also, ob ich frage mich, etwas gibt es wie in standart Python Toolset?
Das Schnipsel des OP ist der direktere (wenn auch nur ein bisschen länger) Weg, die Anforderung auszudrücken; Je nach Situation kann dies der vorgeschriebene Weg sein. Aus den Antworten ergibt sich jedoch eine sehr nützliche Erkenntnis: "In Bezug auf Schleifen, im Zweifelsfall, konsultiere/betrachte itertools". – mjv