使用
itertools.product。
from string import ascii_lowercaseimport itertoolsdef iter_all_strings(): for size in itertools.count(1): for s in itertools.product(ascii_lowercase, repeat=size): yield "".join(s)for s in iter_all_strings(): print(s) if s == 'bb': break
结果:
abcde...yzaaabac...ayazbabb
这具有远远超出两个字母组合的额外好处。如果您需要一百万个字符串,它将很乐意为您提供三个,四个和五个字母字符串。
额外的风格提示:如果您不希望
break在底部循环中使用显式的内容,则可以
islice使循环自行终止:
for s in itertools.islice(iter_all_strings(), 54): print s
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)