Bonjour,
existe-il une instruction qui permet d'intervertir 2 éléments d'une liste ?
Merci pour la réponse.
Bonjour,
existe-il une instruction qui permet d'intervertir 2 éléments d'une liste ?
Merci pour la réponse.
1. Algorithmiquement, c'est la base, si tu avais essayé, tu aurais vu que la solution intuitive fonctionne.
2. Un petit tour dans la FAQ : Mélanger une liste
Bonjour,
Je n'en connais pas de toute faite, mais il est facile d'en fabriquer.
Solution simple d'échange entre les indices 1 et 4:
Avec une fonction lswap qui modifie la liste initiale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 L = [0, 1, 2, 3, 4] L[1], L[4] = L[4], L[1] print L [0, 4, 2, 3, 1]
Et si on ne veut pas modifier la liste initiale, il suffit de transmettre non pas L mais list(L):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 def lswap(L,i1,i2): L[i1], L[i2] = L[i2], L[i1] return L L = [0, 1, 2, 3, 4] print L, lswap(L,1,4), L [0, 1, 2, 3, 4] [0, 4, 2, 3, 1] [0, 4, 2, 3, 1]
Tyrtamos
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 L = [0, 1, 2, 3, 4] print L, lswap(list(L),1,4), L [0, 1, 2, 3, 4] [0, 4, 2, 3, 1] [0, 1, 2, 3, 4]
Merci pour les réponses
Partager