循环浏览所有可能的3个字母组合

时间:2014-07-24 10:31:23

标签: python

我正在尝试从a-z字母表中生成3个字母键的所有组合。

def keyGen(myKey):
    for j in range(0, len(myKey) + 1):
        for subset in itertools.combinations(myKey, 3):
            print(subset)

但我没有得到所有组合:

('a', 'b', 'c')
('a', 'b', 'd')
('a', 'b', 'e')
('a', 'b', 'f')
('a', 'b', 'g')
('a', 'b', 'h')
('a', 'b', 'i')
('a', 'b', 'j')
('a', 'b', 'k')
...............
('v', 'y', 'z')
('w', 'x', 'y')
('w', 'x', 'z')
('w', 'y', 'z')
('x', 'y', 'z')

正如您所看到的,在选择第一个字母后,它不会在字母表中向下但只向上。它不会选择aba,eda,eac等。我无法弄清楚如何做所有可能的组合。

1 个答案:

答案 0 :(得分:3)

您可以尝试itertools.product

itertools.product(mykeys, repeat=3)