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

Résolu
Tch78 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Tch78 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -

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 1872 Date d'inscription   Statut Membre Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 

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