Tout d'abord, ma réponse à la question que vous avez initialement posée
Q: Comment savoir si une variable est définie à un point de mon code?
R: Lisez dans le fichier source jusqu'à ce que vous voyiez une ligne où cette variable est définie.
Mais en outre, vous avez donné un exemple de code selon lequel il existe différentes permutations qui sont assez pythoniques. Vous recherchez un moyen de scanner une séquence pour trouver des éléments qui correspondent à une condition, voici donc quelques solutions:
def findFirstMatch(sequence):
for value in sequence:
if matchCondition(value):
return value
raise LookupError("Could not find match in sequence")
De toute évidence, dans cet exemple, vous pouvez remplacer le raise
par un en return None
fonction de ce que vous souhaitez réaliser.
Si vous vouliez tout ce qui correspondait à la condition, vous pouvez le faire:
def findAllMatches(sequence):
matches = []
for value in sequence:
if matchCondition(value):
matches.append(value)
return matches
Il y a une autre façon de le faire avec yield
laquelle je ne vais pas vous montrer, car c'est assez compliqué dans la façon dont cela fonctionne.
De plus, il existe un moyen unique pour y parvenir:
all_matches = [value for value in sequence if matchCondition(value)]