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 :

permutation circulaire sur listes


Sujet :

Python

  1. #1
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut permutation circulaire sur listes
    Bonjour,
    Quelqu'un a t'il déjà fait une permutation circulaire sur une liste ?
    Soit une liste ['ABETI','P012','G','ERTS'], je donne l'élément 'G' (ou l'indice dans la liste) et je souhaite obtenir la liste ['G','ERTS','ABETI','P012']
    Merci

  2. #2
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    J'ai trouvé cette solution :[CODE]l=['ABETI','P012','G','ERTS']
    first = l.index('G')
    l_result = l[first:]+l[0:first]
    print l_result


    >>>> ['G','ERTS','ABETI','P012']/CODE]C'est vrai que c'est déjà compact.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 440
    Points : 37 032
    Points
    37 032
    Par défaut
    Salut,
    C'est ce que je fais en général. Mais j'écris cela avec des '-':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rotate = lambda s, n: s[-n:] + s[:-n]
    C'est plus cohérent avec le sens de la rotation pour n > 0 et n < 0.
    Le soucis étant d'avoir/assurer n dans [1-len(s)..len(s)]
    - W

  4. #4
    Membre averti Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Points : 407
    Points
    407
    Par défaut
    Ah oui, on fournit la valeur du shift circulaire, positif ou négatif.
    c'est parfait.
    Merci

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

Discussions similaires

  1. [VB]Double clique sur liste...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 14h43
  2. Réponses: 3
    Dernier message: 23/01/2006, 12h43
  3. Selection clavier sur liste déroulante
    Par Maxime_ dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 12/01/2006, 11h35
  4. Réponses: 2
    Dernier message: 26/10/2005, 17h51
  5. [langage] random sur liste ou tableau
    Par martijan dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2003, 15h47

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