Python中字母的所有可能单词

时间:2014-12-17 19:58:25

标签: python word letter

在我的程序中,用户将输入字母(最大值为5),程序将从这些字母生成所有可能的单词。例如,用户将输入" a b c"。单词将是" abc"," acb" ," bac"," bca"," cab"和" cba"。

我该怎么办?我找不到算法。谢谢你的帮助。

感谢大家的帮助。我是初学者。我已经学习了排列函数new :))

2 个答案:

答案 0 :(得分:7)

import itertools

In [146]: list(itertools.permutations('abc'))
Out[146]: 
[('a', 'b', 'c'),
 ('a', 'c', 'b'),
 ('b', 'a', 'c'),
 ('b', 'c', 'a'),
 ('c', 'a', 'b'),
 ('c', 'b', 'a')]

In [147]: [''.join(p) for p in itertools.permutations('abc')]
Out[147]: ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']

答案 1 :(得分:3)

>>> import itertools
>>> for word in itertools.permutations("abc"):
...   print word, ''.join(word)
...
('a', 'b', 'c') abc
('a', 'c', 'b') acb
('b', 'a', 'c') bac
('b', 'c', 'a') bca
('c', 'a', 'b') cab
('c', 'b', 'a') cba