这应该够了吧:
def iterate_strings(n):
if n <= 0:
yield ''
return
for c in string.ascii_lowercase:
for s in iterate_strings(n - 1):
yield c + s
Run Code Online (Sandbox Code Playgroud)
它返回一个发电机.您可以使用for循环迭代它:
for s in iterate_strings(5)
Run Code Online (Sandbox Code Playgroud)
或者获取字符串列表:
list(iterate_strings(5))
Run Code Online (Sandbox Code Playgroud)
如果你想迭代更短的字符串,你可以使用这个函数:
def iterate_strings(n):
yield ''
if n <= 0:
return
for c in string.ascii_lowercase:
for s in iterate_strings(n - 1):
yield c + s
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |