我想生成从"aaa"down 到 的所有字符串"zzz"。目前,我正在使用 3 个 for 循环来执行此操作,是否有更 Pythonic 的方法来执行此操作?
key_options = []
for n1 in range(ord('a'), ord('z')+1):
for n2 in range(ord('a'), ord('z')+1):
for n3 in range(ord('a'), ord('z')+1):
key_options.append(chr(n1) + chr(n2) + chr(n3))
Run Code Online (Sandbox Code Playgroud)
使用itertools.product和列表理解:
>>> from itertools import product
>>> from string import ascii_lowercase
>>> [''.join(p) for p in product(ascii_lowercase, repeat=3)]
['aaa', 'aab', 'aac', 'aad', 'aae', ..., 'zzv', 'zzw', 'zzx', 'zzy', 'zzz']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |