में मैं अन्य के लिए उपयोग कर रहा हूं मैं पाइथन के for...else syntax का एक बड़ा प्रशंसक हूं - यह आश्चर्यजनक है कि यह कितनी बार लागू होता है, और यह कोड को सरल कैसे प्रभावी ढंग से कर सकता है।पाइथन जेनरेटर
हालांकि, मैं एक जनरेटर में इसका इस्तेमाल करने के लिए एक अच्छा तरीका खोज निकाला नहीं गया है उदाहरण के लिए,:
def iterate(i):
for value in i:
yield value
else:
print 'i is empty'
उपरोक्त उदाहरण में, मैं print
बयान को केवल तभी i
क्रियान्वित किया जा करना चाहते हैं खाली है। हालांकि, else
केवल break
और return
का सम्मान करता है, i
की लंबाई के बावजूद इसे हमेशा निष्पादित किया जाता है।
यदि इस तरह से for...else
का उपयोग करना असंभव है, तो इसका सबसे अच्छा तरीका क्या है ताकि print
कथन केवल तब तक निष्पादित किया जा सके जब कुछ भी नहीं मिलता है?
वापसी जनरेटर के अंत में निहित है। इसे शामिल करने की कोई ज़रूरत नहीं है। – recursive
मैं सोच रहा था, लेकिन मैंने सोचा कि मैं इसे यहां स्पष्ट कर दूंगा। – Triptych
+1: "प्रिंट मैं खाली हूं" किसी और की समस्या है, जेनरेटर नहीं। –