对于这种类型的排列,是否有更优雅的方法?

时间:2019-12-29 06:19:24

标签: python python-3.x permutation

我有此代码:

import itertools
variations = list(itertools.permutations(['a', 'b', 'c'], 2))
for v in variations:
    print(''.join(v))

我想要所有字符。如果要使用此代码,则应编写如下代码:

variations = list(itertools.permutations(['a', 'b', 'c', 'd', 'e', '.......

没有更优雅的方式吗?

1 个答案:

答案 0 :(得分:7)

您只能使用字符串而不是字符串列表。此外,您可以使用string模块并对所有小写字母使用预定义常量ascii_lowercase

import string
variations = itertools.permutations(string.ascii_lowercase, 2)

如果您想要其他字符,则可以增加字符串以包含所需的字符,或者可以使用在字符串模块中定义的其他string constants之一:

...permutations(string.ascii_lowercase + '/\\$!@#%', 2)
...permutations(string.printable, 2)