Zunächst einmal meine Antwort auf die Frage, die Sie ursprünglich gestellt haben
F: Wie kann ich herausfinden, ob eine Variable an einer Stelle in meinem Code definiert ist?
A: Lesen Sie in der Quelldatei nach, bis Sie eine Zeile finden, in der diese Variable definiert ist.
Darüber hinaus haben Sie ein Beispiel für einen Code gegeben, von dem es verschiedene Permutationen gibt, die ziemlich pythonisch sind. Sie suchen nach einer Möglichkeit, eine Sequenz nach Elementen zu durchsuchen, die eine Bedingung erfüllen, daher hier 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önnten Sie natürlich die raise
mit einer return None
je nachdem, was Sie erreichen wollen.
Wenn Sie alles haben wollen, was der Bedingung entspricht, können Sie das tun:
def findAllMatches(sequence):
matches = []
for value in sequence:
if matchCondition(value):
matches.append(value)
return matches
Es gibt eine weitere Möglichkeit, dies mit yield
die ich Ihnen nicht zeigen werde, weil sie in ihrer Funktionsweise ziemlich kompliziert ist.
Außerdem gibt es eine einfache Möglichkeit, dies zu erreichen:
all_matches = [value for value in sequence if matchCondition(value)]