J'ai une boucle qui est l'analyse des lignes d'un fichier texte:Effectuer une opération au cours de la dernière itération d'une boucle en python
for line in file:
if line.startswith('TK'):
for item in line.split():
if item.startwith('ID='):
*stuff*
if last_iteration_of_loop
*stuff*
je dois faire quelques travaux, mais je ne peux pas les faire jusqu'à ce que la dernière itération de la seconde pour la boucle. Y at-il un moyen de détecter cela, ou un moyen de savoir si im au dernier article de line.split()
? Comme une note, les item
s dans la deuxième boucle sont des chaînes, et I le contenu d'entre eux sont inconnus à l'exécution, donc je ne peux pas chercher une chaîne spécifique comme drapeau pour me faire savoir im à la fin.
Merci!
'else' à une boucle' for' est complètement inutile sans une déclaration 'break' dans la boucle. –
Normalement, je suis d'accord avec cette approche (d'accord avec @SvenMarnach). Mais que faire si l'OP doit faire quelque chose à '4' avant de l'imprimer? Cela ne marcherait pas très bien dans cette construction – inspectorG4dget
Je ne pense pas que cela documente quoi que ce soit. Même l'utilisation idiomatique de 'for' /' else' déroute les gens, mais c'est vraiment déroutant. –