2014-04-29 488 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合併)。