Python:循环遍历字母表

标签 python string loops scripting alphabet

我正在创建一个循环遍历字母表的脚本,之后添加一个新字母再次循环。 到目前为止,这是我的代码:

import string
for a in (string.ascii_letters + string.digits):
    print (a)
for a in (string.ascii_letters + string.digits):
    for b in (string.ascii_letters + string.digits):
        print(a + b)
for a in (string.ascii_letters + string.digits):
    for b in (string.ascii_letters + string.digits):
        print(a + b)
        for c in (string.ascii_letters + string.digits):
            print(a + b + c)

执行此操作的更有效方法是什么?

最佳答案

itertools 模块可让您定义此类字符串的无限流。

import string
import itertools

def alphanumeric_strings():
    for n in itertools.count():
        for t in itertools.product(string.ascii_letters + string.digits, repeat=n):
            yield ''.join(t)

for x in alphanumeric_strings():
    print x

count 只是产生无限的整数流,从 1 开始计数,因此每次调用 product 时,您都会得到一个比最后的。对 join 的调用将像 ('a', 'B', '1') 这样的元组转换为字符串 aB1

关于Python:循环遍历字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30278539/

相关文章:

Swift Playground - 如何将带逗号的字符串转换为带小数的字符串

python - 序列输出循环 - python

python - 在哪里托管 Python 脚本?

PHP 打印/回显后退箭头错误

java - 如何将看起来像数组的字符串转换为实际的对象数组?

c - 按下按钮时运行循环

c++ - 从 map 中取出 Int 值并将它们迭代到二分图 C++

c# - 如何以最有效的方式从哈希集中迭代和删除元素

python - 更改 python 函数参数的类型而不重新绑定(bind)

Python async/await 下载 url 列表