ジェネレーターを使用してネストされたループの動作を説明していただけませんか?これが例です。
a = (x for x in range(3))
b = (x for x in range(2))
for i in a:
for j in b:
print (i,j)
何らかの理由で、最初の反復後に外側のループが評価されません。結果は、
(0, 0)
(0, 1)
一方、ジェネレーターがループに直接挿入されている場合、それは私が期待することを行います。
for i in (x for x in range(3)):
for j in (x for x in range(2)):
print (i,j)
すべての3x2ペアを提供します。
(0, 0)
(0, 1)
(1, 0)
(1, 1)
(2, 0)
(2, 1)