"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में जेनरेटर ऑब्जेक्ट को कैसे रीसेट करें?

पायथन में जेनरेटर ऑब्जेक्ट को कैसे रीसेट करें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:407

How to Reset a Generator Object in Python?

पायथन में जेनरेटर ऑब्जेक्ट को रीसेट करना: विकल्पों की खोज करना

जेनरेटर सूची बनाए बिना मूल्यों के अनुक्रम पर पुनरावृत्ति करने का एक कुशल तरीका प्रदान करते हैं याद। हालाँकि, एक बार जब जनरेटर अपने सभी मूल्य प्राप्त कर लेता है, तो यह समाप्त हो जाता है और इसे सीधे पुन: उपयोग नहीं किया जा सकता है। इससे यह सवाल उठता है कि पायथन में जेनरेटर ऑब्जेक्ट को कैसे रीसेट किया जाए।

दुर्भाग्य से, जेनरेटर के पास अंतर्निहित रीसेट विधि नहीं है। जनरेटर का पुन: उपयोग करने के लिए, आपके पास कई विकल्प हैं:

  1. जेनरेटर फ़ंक्शन को फिर से चलाएँ: सबसे सरल तरीका जनरेटर फ़ंक्शन को फिर से चलाना है, एक नया जनरेटर ऑब्जेक्ट बनाना है। यह विकल्प सुनिश्चित करता है कि जनरेटर किसी भी आवश्यक मान की पुनर्गणना करते हुए अपनी प्रारंभिक स्थिति से शुरू होता है।
  2. जनरेटर परिणामों को डेटा संरचना में संग्रहीत करें: वैकल्पिक रूप से, आप जनरेटर के परिणामों को एक में संग्रहीत कर सकते हैं डेटा संरचना जैसे सूची या सरणी। यह आपको जेनरेटर फ़ंक्शन को दोबारा चलाए बिना मानों को कई बार पुनरावृत्त करने की अनुमति देता है। हालाँकि, यह विकल्प मानों के पूरे अनुक्रम के लिए मेमोरी आवंटित करता है, जो बड़े जनरेटर के लिए चिंता का विषय हो सकता है।

प्रत्येक विकल्प के लिए निम्नलिखित कोड अंश पर विचार करें:

विकल्प 1 (जेनरेटर फ़ंक्शन फिर से चलाएँ):

y = FunctionWithYield()
for x in y: 
    print(x)
y = FunctionWithYield()
for x in y: 
    print(x)

विकल्प 2 (जेनरेटर परिणामों को एक सूची में संग्रहीत करें):

y = list(FunctionWithYield())
for x in y: 
    print(x)
# Can iterate again:
for x in y: 
    print(x)

इन विकल्पों के बीच चुनाव आपके कार्यक्रम की विशिष्ट आवश्यकताओं पर निर्भर करता है। विकल्प 1 छोटे जनरेटर के लिए अधिक कुशल है या जब जनरेटर फ़ंक्शन को दोबारा चलाना कम्प्यूटेशनल रूप से महंगा नहीं है। विकल्प 2 बड़े जनरेटर के लिए अधिक उपयुक्त है जहां परिणामों को मेमोरी में संग्रहीत करना संभव है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3