我想获得从AAAA到ZZZZ的每个排列的列表,我希望列表按字母顺序排列。我该怎么做?
答案 0 :(得分:0)
你可以这样解决:
alphabet = [chr(item) for item in xrange(ord('A'), ord('Z')+1)]
创建从大写字母A到大写字母Z的字母表。
perms = itertools.product(alphabet, repeat = 4)
创建一个生成器,该生成器将生成从'AAAA'
到'ZZZZ'
results = sorted((''.join(item) for item in perms))
对结果进行排序(请注意product
按字母顺序返回4个字符的元组,因此我们需要将它们与join
组合。
答案 1 :(得分:0)
在python标准库中有迭代器的函数,用于高效循环,其名称为itertools。 itertools有排列生成器。
置换函数需要两个参数,一个是可迭代的,另一个是长度,如果iterable是“ABC”,长度是2那么(A,B)(A,C)(B,A)(B,C) )(C,A)(C,B)是该功能的结果。 生成排列