Ho una lista di parole e ho bisogno di generare tutte le possibili permutazioni di queste, con un avvertimento.Creazione di sottoinsiemi di un elenco di parole permutato in Python
Attualmente uso il seguente codice:
from itertools import permutations
wordlist = ["word1", "word2", "word3"]
for perm in permutations(wordlist):
print "".join(perm)
che fornisce l'output:
word1word2word3
word1word3word2
...
word3word2word1
Tuttavia ho anche bisogno di stampare sottoinsiemi queste parole, come ad esempio:
word1
word1word2
word2word1
...
Ma non ho la minima idea di come farlo. Dove comincio? Cosa dovrei leggere?
Cercate di evitare di usare il nome di 'list', perché' list' è una funzione built-in che converte iterabili alle liste. –
Oh grazie, non lo sapevo. Questo spiega perché non è stato possibile provare a convertire il mio iterabile in un elenco quando ho inizialmente scritto questo codice. Doh! Lo apprezzo. Ho modificato il post originale per riflettere questo, nel caso in cui qualcun altro incontri questo problema. –
Questo è chiamato il powerset (quasi - il powerset include anche il set vuoto) –