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

पायथन में `itertools.cycle` का उपयोग करके अलग-अलग आकार की सूचियों को कैसे ज़िप करें?

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

How to Zip Differently Sized Lists Using `itertools.cycle` in Python?

अंतर्निहित कार्यों का उपयोग करके अलग-अलग आकार की सूचियों को ज़िप करना

हालांकि अंतर्निहित ज़िप फ़ंक्शन दो को मर्ज करते समय छोटी सूची को दोहराने में असमर्थ है अलग-अलग आकार की सूचियाँ, आप इस परिणाम को प्राप्त करने के लिए itertools.cycle फ़ंक्शन का लाभ उठा सकते हैं।

साइकिल पायथन पैकेज से itertools एक पुनरावर्तक बनाता है जो किसी पुनरावर्तनीय से तत्वों को उसके समाप्त होने के बाद भी बार-बार लौटाता है। ज़िप को चक्र के साथ जोड़कर, सूचियों के बीच आकार की विसंगति को संभालना और यह सुनिश्चित करना संभव है कि आवश्यकतानुसार लंबी सूची दोहराई जाए।

उदाहरण:

A = [1, 2, 3, 4, 5, 6, 7, 8, 9]
B = ["A", "B", "C"]

# Use itertools.cycle to repeat the shorter list
from itertools import cycle
zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)

इस उदाहरण में:

  • यदि len(A) > len(B) जांच करता है कि क्या पहली सूची (A) दूसरी (B) से लंबी है।
  • यदि ऐसा है, तो यह A को a के साथ मर्ज करने के लिए ज़िप का उपयोग करता है बी का साइक्लिंग इटरेटर, प्रभावी रूप से मर्ज किए गए परिणाम में बी को दोहराता है।
  • zip_list में जेनरेटर ऑब्जेक्ट के रूप में निम्नलिखित टुपल्स होंगे:
[(1, 'ए'), (2, 'बी'), (3, 'सी'), (4, 'ए'), (5, 'बी'), (6, 'सी'), (7, 'ए'), (8, 'बी') '), (9, 'सी')]

यह कैसे काम करता है:

itertools.cycle पुनरावर्तनीय की एक प्रति बनाता है (इस मामले में, बी) और बार-बार अपने तत्वों को लौटाता है। जैसे ही ज़िप ए के माध्यम से पुनरावृत्त होता है, यह प्रत्येक तत्व को साइक्लिंग इटरेटर से अगले उपलब्ध तत्व के साथ जोड़ता है। इसके विपरीत, यदि A लंबा है, तो B पुनरावर्तक मर्ज की गई सूची के शेष भाग को भरने के लिए लगातार चक्र करता है।
            
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3