IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

swap dans une liste


Sujet :

Python

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Par défaut swap dans une liste
    Bonjour,

    existe-il une instruction qui permet d'intervertir 2 éléments d'une liste ?

    Merci pour la réponse.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    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

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    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:

    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]
    Avec une fonction lswap qui modifie la liste initiale:

    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]
    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
     
    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]
    Tyrtamos

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Par défaut Merci
    Merci pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  2. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20
  3. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09
  4. Réponses: 2
    Dernier message: 17/08/2003, 20h07
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo