将排列结果添加到字符串中并在它们之间换行
Add permutation outcomes into a string and break line between them
我想写一个排列列表,并在每个排列之间换行,这样我就不会得到我通常得到的括号和块等的巨大混乱。
我该怎么做?
此外,我如何将排列组合在一起以针对每个结果创建一个字符串?
我的代码:
import itertools
print(list(itertools.permutations(["an","de","si","ta"],4)))
理想情况下,我希望它打印出如下内容:
andesita
tasidean
而不是:
[('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')]
迭代 itertools.permutations()
结果并使用 str.join()
从每个结果创建一个字符串:
for combo in itertools.permutations(["an", "de", "si", "ta"], 4):
print(''.join(combo))
演示:
>>> 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
我想写一个排列列表,并在每个排列之间换行,这样我就不会得到我通常得到的括号和块等的巨大混乱。
我该怎么做?
此外,我如何将排列组合在一起以针对每个结果创建一个字符串? 我的代码:
import itertools
print(list(itertools.permutations(["an","de","si","ta"],4)))
理想情况下,我希望它打印出如下内容:
andesita
tasidean
而不是:
[('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')]
迭代 itertools.permutations()
结果并使用 str.join()
从每个结果创建一个字符串:
for combo in itertools.permutations(["an", "de", "si", "ta"], 4):
print(''.join(combo))
演示:
>>> 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