क्या कोई जनरेटर का उपयोग कर घोंसला वाले लूप के व्यवहार की व्याख्या करेगा? यहाँ एक उदाहरण है।जेनरेटर के साथ पाइथन नेस्टेड लूप काम नहीं करता है (कुछ मामलों में)?
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)
अहा में संकलित किया है! मैंने जनरेटर के थकावट को नहीं देखा। बहुत बहुत धन्यवाद। – phantomile