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

ऐसे सामान्य मामलों के लिए कोड लिखना थकाऊ और त्रुटि-प्रवण हो सकता है। इसलिए, डेवलपर्स ने आपके लिए यह सब करने के लिए पुस्तकालयों का निर्माण किया है। आप इन कार्यों का उपयोग Itertools आयात करके कर सकते हैं। इस लेख में, आप Python में Itertools मॉड्यूल और इसके कार्यों के बारे में जानेंगे।

आधिकारिक अजगर दस्तावेज़ीकरण बताता है कि Itertools में इटरेटर बनाने के लिए कोड होता है। यह मॉड्यूल सूचियों और सरणियों के साथ काम करने के लिए तेज़ और कुशल कार्य प्रदान करता है।

इस मॉड्यूल का उपयोग करने से पहले, आपको इसे निम्नलिखित सिंटैक्स का उपयोग करके आयात करना होगा:

आयात itertools

इस मॉड्यूल में तीन अलग-अलग प्रकार के इटरेटर मौजूद हैं।

  1. अनंत पुनरावृत्त
  2. कॉम्बिनेटोरिक इटरेटर्स
  3. पुनरावृत्तियों को समाप्त करना

अनंत इटरेटर्स

अनंत इटरेटर एक लूप को असीमित रूप से चला सकते हैं। ये फ़ंक्शन अधिक बार a. का उपयोग करके चलते हैं

पाश के लिए. तीन अनंत इटरेटर हैं।

1. गिनती (प्रारंभ, चरण)

NS गिनती () फ़ंक्शन दो पैरामीटर लेता है: the प्रारंभ और यह कदम. लूप प्रारंभ मान से शुरू होता है और उन मानों को लौटाता है जो चरण दर चरण वृद्धि करते हैं, जो डिफ़ॉल्ट रूप से 1 हो जाता है। नीचे दिए गए उदाहरण पर विचार करें: लूप 2 से शुरू होता है और हर बार 2 जोड़ देगा। लूप टूट जाता है जब का मान मैं 10 हो जाता है।

i के लिए itertools.count (2,2) में:
अगर मैं == 10:
टूटना
अन्यथा:
प्रिंट (i, अंत = "")

आउटपुट:

2 4 6 8 

2. दोहराना (संख्या, बार दोहराना)

NS दोहराना() फ़ंक्शन दो मापदंडों को स्वीकार करता है। पहला वह मान है जो फ़ंक्शन बार-बार उत्पन्न करता है। दूसरा पैरामीटर वह संख्या है जितनी बार संख्या को दोहराना चाहिए। यदि आप दूसरा पैरामीटर निर्दिष्ट नहीं करते हैं, तो लूप असीम रूप से चलेगा।

i के लिए itertools.repeat (2,5) में:
प्रिंट (i, अंत = "")

आउटपुट:

2 2 2 2 2 

3. चक्र (इनपुट)

NS चक्र() फ़ंक्शन इनपुट के माध्यम से पुनरावृत्त होता है और किसी दिए गए क्रम में अलग-अलग आइटम प्रिंट करता है। जब यह अपने इनपुट के अंत तक पहुँचता है, चक्र शुरू से फिर से शुरू होता है।

सी = 0
वर = "12345"
i के लिए itertools.cycle (var) में:
अगर सी == 12:
टूटना
अन्यथा:
सी = सी + 1
प्रिंट (i, अंत = "")

आउटपुट:

1 2 3 4 5 1 2 3 4 5 1 2

कॉम्बिनेटोरिक इटरेटर्स

कॉम्बीनेटरिक इटरेटर क्रमपरिवर्तन, संयोजन और कार्टेशियन उत्पादों को करने के लिए कार्य प्रदान करते हैं।

1. उत्पाद (इनपुट)

NS उत्पाद() फ़ंक्शन निर्दिष्ट इनपुट के कार्टेशियन उत्पाद की गणना करता है। इसमें एक दोहराना पैरामीटर है जो एक पुनरावर्तक के कार्टेशियन उत्पाद की गणना स्वयं करता है। यह एक वैकल्पिक पैरामीटर है।

सरणी = [1,2,3]
प्रिंट (सूची (itertools.product (सरणी, दोहराना = 2)))
स्ट्रिंग = "एबीसी"
प्रिंट (सूची (itertools.product (स्ट्रिंग, "XYZ")))

आउटपुट:

उदाहरण 1 [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
उदाहरण 2 [('ए', 'एक्स'), ('ए', 'वाई'), ('ए', 'जेड'), ('बी', 'एक्स'), ('बी', 'वाई') '), ('बी', 'जेड'), ('सी', 'एक्स'), ('सी', 'वाई'), ('सी', 'जेड')]

2. क्रमपरिवर्तन (इनपुट, आकार)

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

गिरफ्तारी = [1,2,3,4]
प्रिंट (सूची (itertools.permutations (गिरफ्तारी, 2)))

आउटपुट:

[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]

सम्बंधित: पायथन फ़ंक्शंस आपको पता होना चाहिए

3. संयोजन (इनपुट, लंबाई)

NS संयोजन () फ़ंक्शन दिए गए इटरेटर के संयोजनों की गणना करने में मदद करता है। ध्यान दें कि यह फ़ंक्शन अपने इनपुट के आइटम क्रम को बनाए रखता है। जबकि क्रमपरिवर्तन इसमें वे मान शामिल हैं जो केवल क्रम से भिन्न होते हैं, संयोजनों अद्वितीय मूल्य पैदा करता है।

गिरफ्तारी = [1,2,3,4]
प्रिंट (सूची (itertools.combinations (गिरफ्तारी, 3)))

आउटपुट:

[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

पुनरावृत्तियों को समाप्त करना

टर्मिनेटिंग इटरेटर इनपुट को दी गई शर्तों के आधार पर आउटपुट देते हैं। आप इसे कुछ उदाहरण कार्यों से अच्छी तरह समझ सकते हैं।

1. जमा (इनपुट, ऑपरेटर)

NS संचय करें() फ़ंक्शन दो तर्क स्वीकार करता है: चलने योग्य और एक ऑपरेटर। यह ऑपरेटर को संचयी कुल और बदले में प्रत्येक इनपुट तत्व पर लागू करके आउटपुट का उत्पादन करता है। ऑपरेटर एक वैकल्पिक तर्क है। यदि आप इसे पास नहीं करते हैं, तो यह फ़ंक्शन अतिरिक्त कार्य करेगा।

आयात ऑपरेटर
गिरफ्तारी = [1,2,3,4]
प्रिंट (सूची (itertools.accumulate (गिरफ्तारी)))
प्रिंट (सूची (itertools.accumulate (गिरफ्तारी, ऑपरेटर.उप)))

आउटपुट:

[1, 3, 6, 10]
[1, -1, -4, -8]

2. स्टारमैप (फ़ंक्शन, इनपुट)

NS स्टारमैप () फ़ंक्शन एक फ़ंक्शन और टपल सूची को इसके तर्क के रूप में स्वीकार करता है। यह इनपुट में प्रत्येक टपल पर फ़ंक्शन को लागू करके रिटर्न वैल्यू की गणना करता है। दिए गए उदाहरण में, यह फ़ंक्शन प्रत्येक टपल के अधिकतम मान की गणना करेगा और इसे एक सरणी में लौटाएगा।

गिरफ्तारी = [(1,2,3), (4,5,6), (7,8,9)]
प्रिंट (सूची (itertools.starmap (अधिकतम, गिरफ्तार)))

आउटपुट:

[3, 6, 9]

सम्बंधित: पायथन में टुपल्स कैसे बनाएं और उपयोग करें

3. फ़िल्टरझूठा (फ़ंक्शन)

NS फिल्टरफल्स () फ़ंक्शन मान देता है जो पारित फ़ंक्शन में शर्त को पूरा नहीं करता है। नीचे दिया गया कोड सभी विषम मानों को हटा देता है।

गिरफ्तारी = [1,2,3,4]
प्रिंट (सूची (itertools.filterfalse (lambda x: x% 2 != 0, arr)))

आउटपुट:

[2, 4]

अपनी पायथन कोडिंग यात्रा जारी रखें

अब जब आपने Itertools मॉड्यूल के बारे में जान लिया है, तो यह अन्य Python मॉड्यूल को एक्सप्लोर करने का समय है। पायथन में कार्यों के विस्तृत सेट के लिए मॉड्यूल और पुस्तकालय हैं। इनमें फूरियर ट्रांसफॉर्मेशन और एआई/एमएल एप्लिकेशन जैसी उन्नत अवधारणाएं शामिल हैं।

कुछ मॉड्यूल दूसरों की तुलना में अधिक जटिल हैं और सीखने में अधिक समय लेंगे। टिंकर मॉड्यूल आपको पायथन में पूर्ण जीयूआई एप्लिकेशन बनाने में सक्षम बनाता है।

टिंकर में कैलकुलेटर कैसे बनाएं

इस शुरुआती परियोजना के साथ अपने पायथन टिंकर कौशल में सुधार करें।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • अजगर
लेखक के बारे में
उन्नति बमानिया (11 लेख प्रकाशित)

उन्नति एक उत्साही फुल स्टैक डेवलपर है। वह विभिन्न प्रोग्रामिंग भाषाओं का उपयोग करके प्रोजेक्ट बनाना पसंद करती है। अपने खाली समय में, वह गिटार बजाना पसंद करती है और खाना पकाने की शौकीन है।

उन्नति बमानिया. की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें