I want to write a list of permutations, and between each permutation, break the line so I don't end up with the giant mess that I usually get of parens and blocks, ect.
How might I do this?
Furthermore, how would I add together the permutations to create one string per outcome? My code:
import itertools
print(list(itertools.permutations(["an","de","si","ta"],4)))
Ideally, i would like it print something like this:
andesita
tasidean
Instead of:
[('an', 'de', 'si', 'ta'), ('an', 'de', 'ta', 'si'), ('an', 'si', 'de', 'ta'), ('an', 'si', 'ta', 'de'), ('an', 'ta', 'de', 'si'), ('an', 'ta', 'si', 'de'), ('de', 'an', 'si', 'ta'), ('de', 'an', 'ta', 'si'), ('de', 'si', 'an', 'ta'), ('de', 'si', 'ta', 'an'), ('de', 'ta', 'an', 'si'), ('de', 'ta', 'si', 'an'), ('si', 'an', 'de', 'ta'), ('si', 'an', 'ta', 'de'), ('si', 'de', 'an', 'ta'), ('si', 'de', 'ta', 'an'), ('si', 'ta', 'an', 'de'), ('si', 'ta', 'de', 'an'), ('ta', 'an', 'de', 'si'), ('ta', 'an', 'si', 'de'), ('ta', 'de', 'an', 'si'), ('ta', 'de', 'si', 'an'), ('ta', 'si', 'an', 'de'), ('ta', 'si', 'de', 'an')]
Iterate over the itertools.permutations()
results and use str.join()
to create one string from each:
for combo in itertools.permutations(["an", "de", "si", "ta"], 4):
print(''.join(combo))
Demo:
>>> import itertools
>>> for combo in itertools.permutations(["an", "de", "si", "ta"], 4):
... print(''.join(combo))
...
andesita
andetasi
ansideta
ansitade
antadesi
antaside
deansita
deantasi
desianta
desitaan
detaansi
detasian
siandeta
siantade
sideanta
sidetaan
sitaande
sitadean
taandesi
taanside
tadeansi
tadesian
tasiande
tasidean