所有可能的(1,2 .... x)字母组合

时间:2018-02-13 05:53:13

标签: python

我需要一个列表所有可能的(1,2 .... x)字母组合,其中x是数字。

所以对于2个字母的单词,使用list,我会这样做:

 [x+y for x in ascii_letters for y in ascii_letters]

对于3个字母的单词,我会这样做:

 [x+y+z for x in ascii_letters for y in ascii_letters for z in ascii_letters]

等等。

很明显我遇到了静态重复的代码。有没有一种通用的方法来编写这个使用列表理解,映射或任何其他方法,我可以提供多个字母作为参数而不重复代码。

1 个答案:

答案 0 :(得分:2)

Itertools包含构建此类程序所需的大部分组件。特别是,请查看itertools.product。例如,要重复n次,请执行itertools.product(thing, repeat=n)