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

Résolu/Fermé
Tch78 Messages postés 2 Date d'inscription mardi 2 août 2022 Statut Membre Dernière intervention 2 août 2022 - Modifié le 2 août 2022 à 11:41
Tch78 Messages postés 2 Date d'inscription mardi 2 août 2022 Statut Membre Dernière intervention 2 août 2022 - 2 août 2022 à 14:14

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 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
Modifié le 2 août 2022 à 11:58

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 mardi 2 août 2022 Statut Membre Dernière intervention 2 août 2022
2 août 2022 à 14:14

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