J'essaie de créer 3 imbriquées pour des boucles et de sauter toutes les valeurs qui ne sont dans aucune des boucles. J'ai essayé différentes manières mais que je n'ai pas encore eu beaucoup de succès. Voici la boucle:
for industry in string.ascii_uppercase:
for code in range(1, 99):
if code == 3:
continue
for year in range(1998, 2019):
createCSV(industry, code, year)
3 Réponses :
Vous pouvez vérifier contre NULL in Python :
for industry in string.ascii_uppercase:
for code in range(1, 99):
if code is None:
continue
for year in range(1998, 2019):
createCSV(industry, code, year)
Cela ne fonctionnera pas car code code> ne sera pas Aucun code> lors de l'itération de la plage. L'OP indique qu'ils savent quelles valeurs ils doivent sauter, ne pas tester pour la nullité.
Une manière possible pourrait être avec un ESSAYER / SAUF A > Clause: dans lequel vous pouvez toujours remplacer l'exception générique Cependant, si possible, je recommanderais à la place: p> code> avec la classe d'exception spécifique que votre CreateCSV code> La fonction augmente. Si vous savez, par exemple, que CreateCSV CODE> augmentera un ValueError code> lorsqu'un code code> non valide est fourni en tant qu'argument d'entrée, puis remplacer sauf exception : code> avec sauf valideError: code>. Cela aidera à éviter des pièges potentiels (voir ici pour plus d'informations ). P>
CreateCSV CODE> de telle sorte qu'il ne casse pas quand un code non valide code> est fourni. LI>
ul> p>
Si vous savez déjà quelles valeurs provoque une erreur, évitez de boucler sur eux.
for industry in string.ascii_uppercase:
for code in range(1, 99):
for year in range(1998, 2019):
try:
createCSV(industry, code, year)
except: # mention specific exception if you can
print("Skipping Industry-",industry," Code-",code," Year-",year)
Vous voulez probablement un
essayer code> etsauf code> instruction.On dirait que vous savez clairement quelles valeurs sont invalides, alors pourquoi ne pas les stocker dans un
définir code>, puis vérifier le confinement en boucle?Savez-vous d'avance sur les valeurs valides / invalides?
@pstatix et carciaGenicate Je ne sais pas quelles sont les valeurs manquantes mais je peux comprendre cela. Cependant, cela prendrait du temps et la liste manquante serait trop longue pour que je cherche un moyen plus efficace de le faire.