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

कैसे जांचें कि पाइथॉन में जेनरेटर खाली है या नहीं?

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

How to Check if a Generator is Empty in Python?

खाली जनरेटर आरंभीकरण का पता लगाना

पायथन में, जेनरेटर पुनरावर्तक होते हैं जो एक समय में एक मान उत्पन्न करते हैं। ऐसे में, यह निर्धारित करना एक चुनौती हो सकता है कि जनरेटर शुरू से ही खाली है या नहीं। सूचियों या टुपल्स के विपरीत, जनरेटर में कोई अंतर्निहित लंबाई या isEmpty विधि नहीं होती है।

चुनौती को संबोधित करना

इसे संबोधित करने के लिए, एक सामान्य दृष्टिकोण में एक सहायक फ़ंक्शन का उपयोग करना शामिल है जनरेटर में पहले मान को बिना उपभोग किए देखें। यदि पीक फ़ंक्शन कोई नहीं लौटाता है, तो यह इंगित करता है कि जनरेटर के पास कोई आइटम नहीं है। &&&]

def peek(पुनरावर्तनीय): कोशिश करना: पहला = अगला (पुनरावर्तनीय) स्टॉपइटरेशन को छोड़कर: वापसी कोई नहीं पहले लौटें, itertools.चेन([पहला], पुनरावर्तनीय)

खाली जेनरेटर निर्धारित करने के लिए पीक का उपयोग करना

def peek(iterable):
    try:
        first = next(iterable)
    except StopIteration:
        return None
    return first, itertools.chain([first], iterable)

res = peek(mysequence) यदि res कोई नहीं है: # अनुक्रम खाली है. कार्य करना। अन्य: पहला, मायसीक्वेंस = रेस # पहले कुछ करो, शायद? # फिर अनुक्रम पर पुनरावृति करें: मेरे अनुक्रम में तत्व के लिए: # आदिइस उदाहरण में, यदि जनरेटर खाली है, तो पीक फ़ंक्शन कोई नहीं लौटाएगा और यदि स्थिति सत्य होगी। अन्यथा, अन्य ब्लॉक निष्पादित किया जाएगा। इस दृष्टिकोण का उपयोग करके, आप प्रभावी ढंग से पता लगा सकते हैं कि जनरेटर अपनी शुरुआत से ही खाली है या नहीं।

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: 1729390097 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3