Salut,
Envoyé par
sqlbeginner
j'aimera, avec une boucle for, accéder aux valeurs des a1, a2, a3.
On peut itérer sur des objets qui sont "itérables" comme les séquences que sont listes et tuples.
Du coup plutôt que fabriquer pleins de variables où on cable une indice dans le nom, on écrira:
a = "aaaa", "aaaa", "aaaa", "bbbb"
et si on veut afficher avec des indices renumérotés:
1 2 3 4 5 6 7
| >>> for i, v in enumerate(a, 1):
... print(i, v)
...
1 aaaa
2 aaaa
3 aaaa
4 bbbb |
Tout ça pour dire que si vous êtes sorti de la case tuto sans avoir le réflexe de penser collection et de créer des tas de variables, il est peut être prématuré de programmer autre chose que des exercices.
note: normalement, dans tous les bons tutos on apprend que les noms des variables sont clef du dictionnaire globals(). Ce qui permet d'écrire:
1 2 3 4 5 6 7 8 9 10 11
| >>> a1 = "aaaa"
>>> a2 = "aaaa"
>>> a3 = "aaaa"
>>> a3 = "bbbb"
>>> for i in range(1, 5):
... print(i, globals()[f'a{i}'])
...
1 aaaa
2 aaaa
3 bbbb
4 bbbb |
Et de réaliser qu'au pire, il sera plus judicieux de créer un dictionnaire spécifique (au pire, c'est un dictionnaire est une collection d'objets qui a d'autres intérêts que d'être séquence et qu'il n'est peut être pas utile d'utiliser ici).
- W
Partager