Python Liste - append chaque mot d'une liste entre eux

Résolu
Tch78 Messages postés 2 Statut Membre -  
Tch78 Messages postés 2 Statut Membre -

Hey,

[PYTHON3]

J'ai une liste aléatoire par exemple et je voudrais faire correspondre le mot1 de la liste avec le mot2 avec le mot3 dans chaque "direction". Pour mieux comprendre, voici ce que je fais manuellement :

chaine=["hey", "dude", "monkey"]
chainemod=[]

chainemod.append(chaine[0]+chaine[1])
chainemod.append(chaine[0]+chaine[2])
chainemod.append(chaine[1]+chaine[0])
chainemod.append(chaine[1]+chaine[2])
chainemod.append(chaine[2]+chaine[0])
chainemod.append(chaine[2]+chaine[1])
chainemod.append(chaine[0]+chaine[1]+chaine[2])
chainemod.append(chaine[0]+chaine[2]+chaine[1])
chainemod.append(chaine[1]+chaine[0]+chaine[2])
chainemod.append(chaine[1]+chaine[2]+chaine[0])
chainemod.append(chaine[2]+chaine[1]+chaine[0])
chainemod.append(chaine[2]+chaine[0]+chaine[1])

Pour 3 mots dans la liste, c'est ok, mais imaginez que l'utilisateur insère 5, 6 mots ... ce n'est pas possible et je suis sûr qu'il existe quelque chose en python pour faire correspondre chaque mot de la liste dans toutes les directions automatiquement.


Merci beaucoup par avance !
Tch,

A voir également:

1 réponse

Phil_1857 Messages postés 1956 Statut Membre 168
 

Bonjour,

Si tu veux générer toutes les combinaisons des 3 mots de ta liste, regarde sur le net du coté du module itertools

1
Tch78 Messages postés 2 Statut Membre
 

Merci @phil_1857 ! 

Le script qui fonctionne : 

import itertools

chaine=["hey","dude","78EE", "makake", "ddddd"]

listpermutte = itertools.permutations(chaine)

for obj in (listpermutte):
 
    print(obj

Topic clos

0