Zunächst meine Antwort auf die Frage, die Sie ursprünglich gestellt haben
F: Wie kann ich feststellen, ob an einem Punkt in meinem Code eine Variable definiert ist?
A: Lesen Sie in der Quelldatei nach, bis Sie eine Zeile sehen, in der diese Variable definiert ist.
Aber weiter haben Sie ein Codebeispiel gegeben, dass es verschiedene Permutationen gibt, die ziemlich pythonisch sind. Sie suchen nach einer Möglichkeit, eine Sequenz nach Elementen zu durchsuchen, die einer Bedingung entsprechen. Hier sind einige Lösungen:
def findFirstMatch(sequence):
for value in sequence:
if matchCondition(value):
return value
raise LookupError("Could not find match in sequence")
In diesem Beispiel können Sie das natürlich raise
durch ein ersetzen, return None
je nachdem, was Sie erreichen möchten.
Wenn Sie alles wollten, was der Bedingung entspricht, können Sie dies tun:
def findAllMatches(sequence):
matches = []
for value in sequence:
if matchCondition(value):
matches.append(value)
return matches
Es gibt einen anderen Weg, dies zu tun yield
, den ich Ihnen nicht zeigen werde, weil es in der Art und Weise, wie es funktioniert, ziemlich kompliziert ist.
Darüber hinaus gibt es einen einzeiligen Weg, um dies zu erreichen:
all_matches = [value for value in sequence if matchCondition(value)]