Dire que j'ai une liste de chaînes:Génération toutes les combinaisons possibles de caractères dans une chaîne
li = ['a', 'b', 'c']
je voudrais construire une nouvelle liste de telle sorte que chaque entrée de la nouvelle liste est une concaténation d'une sélection de 3 entrées dans la liste d'origine. Notez que chaque entrée peut être choisie de manière répétée:
new_li=['abc', 'acb', 'bac', 'bca', 'cab', 'cba', 'aab', 'aac',....'aaa', 'bbb', 'ccc']
La voie de la force brutale est de construire une 3 fois imbriqués pour chaque boucle et insérer 3-combinaison dans la nouvelle liste. Je me demandais s'il y avait une façon de Python de faire face à cela? Merci.
Mise à jour: Plus tard, je vais convertir la nouvelle liste en un ensemble, de sorte que l'ordre n'a pas d'importance quand même.
Faut-il que ce soit aléatoire? Combien de temps devrait être la liste? –
@ whackamadoodle3000 S'il vous plaît voir les mises à jour. La longueur de la liste devrait être 3^n, où n est le nombre d'entrées dans la liste originale – James