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
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
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.
Salut,
C'est ce que je fais en général. Mais j'écris cela avec des '-':
C'est plus cohérent avec le sens de la rotation pour n > 0 et n < 0.
Code : Sélectionner tout - Visualiser dans une fenêtre à part rotate = lambda s, n: s[-n:] + s[:-n]
Le soucis étant d'avoir/assurer n dans [1-len(s)..len(s)]
- W
Ah oui, on fournit la valeur du shift circulaire, positif ou négatif.
c'est parfait.
Merci![]()
Partager