बेहतर मैं itertools
मॉड्यूल में सुविधाओं को लागू करने की कोशिश कर रहा हूँ पायथन के जनरेटर समझते हैं, और izip
के साथ मुसीबत में पाने के लिए:izip() का यह कार्यान्वयन क्यों काम नहीं करता है?
def izip(*iterables):
its = tuple(iter(it) for it in iterables)
while True:
yield tuple(next(it) for it in its) # ERROR
# yield tuple(map(next, its)) # OK
मेरे कोड त्रुटि लाइन, और संदर्भ कार्यान्वयन (मैनुअल में दी गयी है) का उपयोग करता है अन्य छोटे मतभेदों पर विचार नहीं करते, ठीक रेखा का उपयोग करता है।
for x in izip([1, 2, 3], (4, 5)):
print x
मेरे कोड आउटपुट:
(1, 4)
(2, 5)
(3,)
()
()
... # indefinite()
है, जबकि उम्मीद उत्पादन होता है:
(1, 4)
(2, 5)
क्या, कृपया मेरी कोड के साथ गलत क्या है इस स्निपेट के साथ?
@wdscxsj: देखें http://www.velocityreviews.com/forums/t723967- जनरेटर- एक्सप्रेशन- vs-comprehensions.html –
@ स्वेन मार्नच: धन्यवाद! आपकी व्याख्या संक्षेप में और बहुत ही कम है। – wdscxsj
@ स्टेवेन रूंबास्की: लिंक किया गया पृष्ठ मुझे और अधिक बेहतर समझने में मदद करता है। धन्यवाद! – wdscxsj