J'ai une liste de mots et j'ai besoin de générer toutes les permutations possibles de ceux-ci, avec une mise en garde.Génération de sous-ensembles d'une liste de mots permutés en Python
J'utilise actuellement le code suivant:
from itertools import permutations
wordlist = ["word1", "word2", "word3"]
for perm in permutations(wordlist):
print "".join(perm)
qui donne la sortie:
word1word2word3
word1word3word2
...
word3word2word1
Cependant, je dois aussi pour imprimer des sous-ensembles de ces mots, tels que:
word1
word1word2
word2word1
...
Mais je n'ai pas la moindre idée de comment faire cela. Par où commencer? Que devrais-je lire?
Essayez d'éviter d'utiliser le nom 'list', parce que' list' est une fonction intégrée qui convertit iterables aux listes. –
Oh merci, je ne le savais pas. Cela explique pourquoi essayer de convertir mon itérable à une liste ne fonctionnait pas quand j'ai initialement écrit ce code. Doh! Je vous en suis reconnaissant. J'ai modifié le post original pour refléter ceci, au cas où quelqu'un d'autre rencontrerait ce problème. –
Ceci s'appelle le powerset (presque - le powerset inclut également l'ensemble vide) –