2014-04-29 429 views
-1

我想获得从AAAA到ZZZZ的每个排列的列表,并且我希望列表按字母顺序排列。我该怎么做呢?按字母顺序排列

+0

这显然与排列无关,请参考http://en.wikipedia.org/wiki/Twelvefold_way使用适当的术语。 – hivert

回答

0

可以解决这个问题是这样的:

alphabet = [chr(item) for item in xrange(ord('A'), ord('Z')+1)] 

创建从大写字母A到Z的资本

perms = itertools.product(alphabet, repeat = 4) 

字母创建一个发电机,将产生的所有4个字符排列从'AAAA''ZZZZ'

results = sorted((''.join(item) for item in perms)) 

排序结果(请注意product返回一个4字符的元组,因此我们需要按字母顺序将它们与join合并)。