for 循环表示范围内所有可能的字母+数字组合



我需要一个 for 循环,它可以接受输入,比如 5,并遍历所有可能的 5 种大写/小写/数字/特殊长度组合,并对每个组合做一些事情,这可能吗?我不想将它们存储在内存中,只是迭代它们,然后摆脱它。

另外,我将如何只做每种类型的字符集..字母..数字等。

我需要一个 for 循环,它可以接受输入,比如 5,并遍历所有可能的 5 种大写/小写/数字/特殊长度组合,并对每个组合做一些事情

为此,您可能需要使用itertools.product()

import string
import itertools
alphabet = string.digits + string.letters + string.punctuation
for password in itertools.product(alphabet, repeat=5):
    print ''.join(password)

或者,根据注释改编代码:

from string import ascii_lowercase
from itertools import product
keywords = (''.join(i) for i in product(ascii_lowercase, repeat = 3))
for keyword in keywords:
    print keyword

最新更新