This:
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=' ')