在python中迭代a到zzz

use*_*145 5 python increment alphabet

所以我需要一个函数来生成一个从a增加的字母列表,并以zzz结尾.

应该是这样的:

a
b
c
...
aa
ab
ac
...
zzx
zzy
zzz
Run Code Online (Sandbox Code Playgroud)

我目前的代码是这样的:

for combo in product(ascii_lowercase, repeat=3):
            print(''.join(combo))
Run Code Online (Sandbox Code Playgroud)

但是,这只会增加3个字母,输出更像

a
ab
abc
abcd
...
Run Code Online (Sandbox Code Playgroud)

因此,回顾:字母增加的函数,当它超过z时,它返回到aa.谢谢!


更新:

我有与以前相同的输出.这是我想要插入的内容:

a = hashlib.md5()
for chars in chain(ALC, product(ALC, repeat=1), product(ALC, repeat=1)):
    a.update(chars.encode('utf-8'))
    print(''.join(chars))
    print(a.hexdigest())
Run Code Online (Sandbox Code Playgroud)

我的哈希最终结果如下:

f1784031a03a8f5b11ead16ab90cc18e
Run Code Online (Sandbox Code Playgroud)

但我希望:

415290769594460e2e485922904f345d
Run Code Online (Sandbox Code Playgroud)

谢谢!

vau*_*tah 10

添加另一个循环:

for x in range(1, 4):
    for combo in product(ascii_lowercase, repeat=x):
        print(''.join(combo))
Run Code Online (Sandbox Code Playgroud)

输出如下:

a
...
aa
...
aaa
...
zzz
Run Code Online (Sandbox Code Playgroud)

...大量的组合在哪里.


Pet*_*aro 7

from string import ascii_lowercase as ALC
from itertools import chain, product

for chars in chain(ALC, product(ALC, repeat=2), product(ALC, repeat=3)):
    print(''.join(chars))
Run Code Online (Sandbox Code Playgroud)

回应问题更新

我尝试了所有的方法,但无法得到415290769594460e2e485922904f345d你提到的你所期望的......所以我不知道你是如何计算你的期望的.

product                       : 1a431d62ddd9e78e1b22f8245ad945d0
permutations                  : 52d2529adf73975a4ca82bc7e25db4c6
combinations                  : 52bf3fcd925b2fdc1c52df70b7e33cbb
combinations_with_replacement : 421d5ff16fc211ae253fcc3e81eeb262
Run Code Online (Sandbox Code Playgroud)