पायथन में इटरेटर कार्य | सेट 2 (इस्लाइस (), स्टारमैप (), टी () ..)

| |

1. islice (पुनरावर्तनीय, प्रारंभ, रोकें, चरण) : — यह इटरेटर अपने चलने योग्य कंटेनर में संदर्भित मानों को चुनिंदा रूप से प्रिंट करता है एक तर्क के रूप में पारित किया गया। यह पुनरावर्तक 4 तर्क लेता है, एक पुनरावृत्त कंटेनर, प्रारंभ स्थिति, समाप्ति स्थिति और स्ट्राइड।

2. स्टारमैप (func., टुपल्स की सूची) : — यह इटरेटर एक तर्क के रूप में फ़ंक्शन और टुपल्स की सूची लेता है और सूची में प्रत्येक टपल से फ़ंक्शन के अनुसार मान देता है।


# Python code यह प्रदर्शित करने के लिए कि यह कैसे काम करता है
# islice () और स्टारमैप ()


# import & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# इनिशियलाइज़िंग लिस्ट

li = [ <कोड वर्ग = "मान"> 2 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 4 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 5 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 7 कोड> <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 8 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 10 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 20 <कोड वर्ग = "सादा">]


# टुपल्स की सूची को इनिशियलाइज़ करें

li1 <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> [( <कोड वर्ग = "मान"> 1 कोड> <कोड वर्ग = "सादा">, <कोड वर्ग = "v alue"> 10 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 5 <कोड वर्ग = "सादा">), ( <कोड वर्ग = "मान"> 8 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 4 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 1 <कोड वर्ग = "सादा">), ( <कोड वर्ग = "मान"> 5 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 4 <कोड वर्ग = "सादा">, कोड> <कोड वर्ग = "मान"> 9 <कोड वर्ग = "सादा">), ( <कोड वर्ग = "मान"> 11 <कोड वर्ग = "सादा" >, <कोड वर्ग = "मान"> 10 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 1 <कोड वर्ग = " प्लेन">)]

< br> # islice () का उपयोग करके सूची को .. के अनुसार स्लाइस करें। . आवश्यकता
# दूसरी अनुक्रमणिका से छठवीं स्किप 2 तक प्रिंट करना प्रारंभ करता है

प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "स्ट्रिंग"> "कटा हुआ सूची मान हैं:" <कोड वर्ग = "सादा">, अंत कोड> <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> "")

<कोड वर्ग = "कार्य"> प्रिंट ( list (itertools.islice (li, 1 , 6 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 2 <कोड वर्ग = "सादा">)))


# किसी मान acc का चयन करने के लिए starmap () का उपयोग करना। function
# सभी tuple मानों में से न्यूनतम का चयन करता है

Print <कोड वर्ग = "सादा"> ( <कोड वर्ग = "स्ट्रिंग"> "कार्य करने के लिए मान एसीसी हैं:" <कोड वर्ग = "सादा">, अंत <कोड क्लास = "कीवर्ड"> = <कोड क्लास = "सादा"> "")

<कोड क्लास = "फ़ंक्शंस"> प्रिंट < कोड वर्ग = "सादा"> ( <कोड वर्ग = "कार्य"> सूची <कोड वर्ग = "सादा"> (itertools.starmap ( मिनट <कोड वर्ग = "सादा">, li1)))

आउटपुट:

The कटा हुआ सूची मान हैं: [4, 7, 10] मान acc. कार्य करने के लिए हैं: [1, 1, 4, 1] 

3. कुछ समय के लिए (func, iterable) : — यह इटरेटर ड्रॉप के विपरीत है जबकि (), यह मानों को प्रिंट करता है जब तक कि फ़ंक्शन पहली बार गलत नहीं लौटाता।

4. टी (पुनरावर्तक, गिनती) : — यह इटरेटर कंटेनर को कई इटरेटर्स में विभाजित करता है तर्क में उल्लेख किया गया है।


< tbody>

# Python code यह प्रदर्शित करने के लिए कि यह कैसे काम करता है
# समय लेने के लिए ( ) और टी ()


# import & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# इनिशियलाइज़िंग लिस्ट

li = [ <कोड वर्ग = "मान"> 2 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 4 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 6 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 7 कोड> <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 8 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 10 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 20 <कोड वर्ग = "सादा">]


# सूची को एक पुनरावर्तक में सेव करें

आईटीआई <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "कार्य"> iter <कोड वर्ग = "सादा"> ( li)


# टेक-टाइम () का उपयोग करके मानों को तब तक प्रिंट करें जब तक शर्त झूठी है।

Print ( " सूची मान​ ​पहले झूठे मान तक हैं: " , end = " ")

Print ( list <कोड वर्ग = "सादा"> (itertools.take while ( lambda x: x % <कोड वर्ग = "मान"> 2 <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "मान"> 0 <कोड वर्ग = "सादा">, ली)))


<कोड वर्ग = "टिप्पणियां"> # टी का उपयोग कर () पुनरावृत्तियों को सूचीबद्ध करने के लिए

# समान मान वाले 3 पुनरावृत्तियों की सूची बनाता है।

<कोड वर्ग = "सादा"> यह <कोड वर्ग = "कीवर्ड"> = <कोड वर्ग = "सादा"> itertools.tee (आईटीआई) , <कोड वर्ग = "मान"> 3 <कोड वर्ग = "सादा">)


<कोड वर्ग = "टिप्पणियां"> # इटरेटर मान प्रिंट करना

Print ( "पुनरावर्तक हैं:" )

for मैं <कोड वर्ग = "कीवर्ड"> में <कोड वर्ग = "कार्य"> श्रेणी <कोड वर्ग = "सादा"> ( <कोड वर्ग = " value"> 0 , 3 ):

<कोड वर्ग = "कीवर्ड"> प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "कार्य"> सूची <कोड वर्ग = "सादा" "> (यह [i]))

आउटपुट:

सूची मान t बीमार पहला गलत मान हैं: [2, 4, 6] पुनरावृत्त हैं: [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20] [2, 4, 6, 7, 8, 10, 20] 

5. zip_longest (iterable1, iterable2, fillval.) : — यह पुनरावर्तक पुनरावृत्तियों के मानों को एक बार में प्रिंट करता है। यदि पुनरावृत्तियों में से एक पूरी तरह से मुद्रित है, तो शेष मान भरण-मूल्य के लिए असाइन किए गए मानों से भरे हुए हैं


# पायथन कोड यह प्रदर्शित करने के लिए कि यह कैसे काम करता है
# zip_longest ()


# आयात & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# दो पुनरावृत्तियों को संयोजित करने के लिए zip_longest () का उपयोग करना।

Print ( "संयुक्त मान​​ ​पुनरावृत्तियों की संख्या है:" )

Print ( * (itertools.zip_longest ( ’GesoGes’ <कोड वर्ग = "सादा">, <कोड वर्ग =" स्ट्रिंग ">’ ekfrek ’ <कोड वर्ग = "सादा">, भरण मूल्य <कोड वर्ग = "कीवर्ड" > = <कोड वर्ग = "स्ट्रिंग"> ’_’ <कोड वर्ग = "सादा">)))

आउटपुट:

पुनरावृत्तियों का संयुक्त मान है: (’G’, ’e’) (’e’, ’k’) (’s’,’ f’) ( ’o’,’ r ’) (’G’, ’e’) (’e’, ’k’) (’s’, ’_’) 

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

1. उत्पाद (iter1, iter2) : — यह पुनरावर्तक तर्क के रूप में पारित दो पुनरावर्तनीय कंटेनरों के कार्टेशियन उत्पाद को प्रिंट करता है।

2. क्रमपरिवर्तन (iter, group_size) : — यह पुनरावर्तक पुनरावर्तनीय के सभी तत्वों के सभी संभावित क्रमपरिवर्तन को प्रिंट करता है। प्रत्येक क्रमपरिवर्तन समूह का आकार समूह_आकार तर्क द्वारा निर्धारित किया जाता है।


<कोड class = "comments"> # Python- डेमो कोड
# उत्पाद () और क्रमपरिवर्तन ()


# आयात & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# कार्टेशियन उत्पाद को प्रिंट करने के लिए उत्पाद () का उपयोग करना

Print ( "कंटेनरों का कार्टेशियन उत्पाद है:" )

प्रिंट <कोड क्लास = "सादा"> ( <कोड क्लास = "फ़ंक्शंस"> सूची <कोड क्लास = "सादा"> (itertools.product (< /कोड> <कोड वर्ग = "स्ट्रिंग"> ’एबी’ <कोड वर्ग = "सादा">, <कोड वर्ग = "स्ट्रिंग"> ’12’ <कोड वर्ग = "सादा">)))


# सभी संभावित क्रमपरिवर्तनों की गणना करने के लिए क्रमपरिवर्तन का उपयोग करें

प्रिंट <कोड क्लास = "प्लेन"> ( <कोड क्लास = "स्ट्रिंग"> "दिए गए कंटेनर के सभी क्रमपरिवर्तन हैं:" <कोड क्लास = "सादा">)

<कोड वर्ग = "कीवर्ड"> प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "कार्य"> सूची <कोड वर्ग = "सादा"> (itertools.permutations ( ’GfG’ , 2 )))

आउटपुट :


कंटेनरों का कार्टेशियन उत्पाद है: [(’ए’, ’1’), (’ए’, ’2’), (’बी’, ’1’), (’B’, ’2’)] दिए गए कंटेनर के सभी क्रमपरिवर्तन हैं: [(’G’, ’f’), (’G’, ’G’), (’f’, ’G’), (’f’, ’G’), (’G’, ’G’), (’G’, ’f’)] 

3. संयोजन (चलने योग्य, group_size) : — यह इटरेटर सॉर्ट किए गए क्रम में निर्दिष्ट समूह आकार में तर्कों में पारित कंटेनर के सभी संभावित संयोजन (कोई प्रतिस्थापन नहीं) प्रिंट करता है।

4. संयोजन_विथ_प्रतिस्थापन (पुनरावृत्ति योग्य, समूह_आकार) : — यह इटरेटर सॉर्ट किए गए क्रम में निर्दिष्ट समूह आकार में तर्कों में पारित कंटेनर के सभी संभावित संयोजन (प्रतिस्थापन के साथ) प्रिंट करता है।


<टेबल बॉर्डर = "0" सेलपैडिंग = "0" सेलस्पेसिंग = "0">

# Python code यह प्रदर्शित करने के लिए कि यह कैसे काम करता है
# संयोजन () और Combination_with_replacement ()


<कोड वर्ग = "टिप्पणियां"> # आयात & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# प्रत्येक संयोजन को प्रिंट करने के लिए संयोजन () का उपयोग करें
# (बिना प्रतिस्थापन के)

प्रिंट <कोड क्लास = "प्लेन"> ( <कोड क्लास = "स्ट्रिंग"> "कंटेनर के सभी संयोजन क्रमबद्ध क्रम में (प्रतिस्थापन के बिना) है:" कोड> <कोड वर्ग = "सादा">)

कोड वर्ग = "कीवर्ड"> प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "फ़ंक्शंस"> सूची <कोड वर्ग = "सादा"> (itertools.combinations ( <कोड वर्ग = "स्ट्रिंग"> ’1234’ <कोड वर्ग = "सादा" >, 2 )))


# प्रत्येक संयोजन को प्रिंट करने के लिए संयोजन_with_replacement () का उपयोग करना
# प्रतिस्थापन के साथ

प्रिंट ( "कंटेनर के सभी संयोजन क्रमबद्ध क्रम में (प्रतिस्थापन के साथ) है:" )

कोड वर्ग = "कार्य"> प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "कार्य"> सूची <कोड वर्ग = "सादा"> (itertools.combinations_with_replacement ( ’GfG’ , 2 )))

आउटपुट:

कंटेनर के सभी संयोजन क्रमबद्ध क्रम में (प्रतिस्थापन के बिना) है: [(’1’,’ 2 ’), (’ 1’ , ’3’), (’1’, ’4’), (’2’, ’3’), (’2’, ’4’), (’3’, ’4’)] के सभी संयोजन क्रमबद्ध क्रम में कंटेनर (प्रतिस्थापन के साथ) है: [(’G’, ’G’), (’G’, ’f’), (’G’, ’G’), (’f’, ’f’) , (’ f’, ’G’), (’ G’, ’G’)] 

अनंत पुनरावृत्त

<मजबूत>1. गिनती (प्रारंभ, चरण) : — यह पुनरावर्तक "प्रारंभ" पर प्रिंट करना प्रारंभ करता है और अनिश्चित काल तक प्रिंट करता है । यदि चरणों का उल्लेख किया गया है, तो संख्याएं छोड़ दी जाती हैं, अन्यथा चरण डिफ़ॉल्ट रूप से 1 होता है।

उदाहरण:

iterator.count (5,2) प्रिंट - 5,7,9,11 । .. असीम रूप से 

2. लूप (चलने योग्य) : — यह इटरेटर पास किए गए कंटेनर से सभी मानों को प्रिंट करता है। यह शुरू से प्रिंट करना फिर से शुरू कर देता है जब सभी आइटम साइकिल पर होते हैं

उदाहरण:

iterator.cycle ([1,2,3,4]) प्रिंट - 1,2,3,4,1,2,3,4,1 ... असीम रूप से 

3. दोहराना (वैल, संख्या) : — यह इटरेटर पास किए गए मान को अनंत बार बार-बार प्रिंट करता है । यदि किसी संख्या का उल्लेख किया गया है, तो वे उस संख्या तक हैं।


<तालिका सीमा = "0" सेलपैडिंग = "0" सेलस्पेसिंग = "0">

# Python code यह प्रदर्शित करने के लिए कि यह कैसे काम करता है
# दोहराना ()


<कोड वर्ग = "टिप्पणियां"> # आयात & quot; इटरटूल & quot; इटरेटर संचालन के लिए

import itertools


# नंबर को बार-बार प्रिंट करने के लिए रिपीट () का उपयोग करना

Print ( "नंबरों को बार-बार प्रिंट करना:" )

प्रिंट <कोड वर्ग = "सादा"> ( <कोड वर्ग = "कार्य"> सूची <कोड वर्ग = "सादा"> (itertools.repeat () <कोड वर्ग = "मान"> 25 <कोड वर्ग = "सादा">, <कोड वर्ग = "मान"> 4 <कोड वर्ग = "सादा">)))

आउटपुट:

नंबरों को बार-बार प्रिंट करना: [25, 25, 25, 25] 

यह लेख मंजीत सिंह के सौजन्य से। यदि आप Python.Engineering के रूप में हैं और योगदान देना चाहते हैं, तो आप योगदान.पायथन.इंजीनियरिंग का उपयोग करके या एक लेख पोस्ट करके भी एक लेख लिख सकते हैं। योगदान @ python.engineering.पायथन पर दिखाई देने वाला मेरा लेख देखें। इंजीनियरिंग होमपेज और अन्य geeks की मदद करें।

यदि आपको कुछ भी गलत लगता है या यदि आप ऊपर चर्चा किए गए विषय पर अधिक जानकारी साझा करना चाहते हैं तो कृपया टिप्पणी पोस्ट करें। ।