Rya*_*yan 5 python loops numbers python-itertools letters
我想知道如何在Python中迭代一系列条件.
所以一个短暂的进展将是:
1a
1b
1c
...
1aa
1ab
1ac
...
2aaa
2aab
2aac
etc.
Run Code Online (Sandbox Code Playgroud)
一个可以做前两个的可怕例子是
##Loop through 1a-z0-9
start = '1'
l = 97
while l < 123:
num = start
num += chr(l)
print num
l += 1
l = 48
while l < 58:
num = start
num += chr(l)
print num
l += 1
Run Code Online (Sandbox Code Playgroud)
我找到了itertools,但找不到好的例子.
您可以使用itertools.product和执行此操作itertools.chain.首先定义数字和字母的字符串:
numbers = '0123456789'
alnum = numbers + 'abcdefghijklmnopqrstuvwxyz'
Run Code Online (Sandbox Code Playgroud)
使用itertools.product,你可以得到各种长度字符串的字符元组:
len2 = itertools.product(numbers, alnum) # length 2
len3 = itertools.product(numbers, alnum, alnum) # length 3
...
Run Code Online (Sandbox Code Playgroud)
将所有长度的迭代器链接在一起,将元组连接成字符串.我会用列表理解来做到这一点:
[''.join(p) for p in itertools.chain(len2, len3, len4, len5, len6)]
Run Code Online (Sandbox Code Playgroud)