【发布时间】:2019-09-30 17:24:22
【问题描述】:
这个:
import itertools
gen1 = itertools.product('ab', repeat=3)
for i in gen1:
print(''.join(i), end=' ')
打印这个:
aaa aab aba abb baa bab bba bbb
但我也希望它生成a b aa ab ba bb。我可以这样做:
import itertools
for i in range(1, 4):
gen2 = itertools.product('ab', repeat=i)
for j in gen2:
print(''.join(j), end=' ')
打印这个:
a b aa ab ba bb aaa aab aba abb baa bab bba bbb
有没有更优雅的方法来使用单个生成器获取此输出?比如:
import itertools
gen3 = (your code here)
for i in gen3:
# prints forever in the pattern: a b aa ab ba bb aaa aab aba abb baa bab bba bbb
print(''.join(i), end=' ')
【问题讨论】:
-
您的评论“永久打印”重要吗?
-
@tomjn 我会说是的,因为我希望能够将其推广到任何长度的 'a's 和 'b's。我应该明确一点,当我说“永远打印”时,我的意思是它会继续用 aaaa aaab aaba....
标签: python python-3.x generator itertools