पायथन में लिस्ट कॉम्प्रिहेंशन का उपयोग कैसे करें

पायथन में लिस्ट कॉम्प्रिहेंशन का उपयोग कैसे करें

पायथन में सूची समझ का समय पर उपयोग आपके लिए पुनरावृत्त सूची संचालन को आसान बना सकता है। एक पंक्ति होने के अलावा, यह अधिक पठनीय है और अधिक कुशलता से निष्पादित होती है।





हालाँकि, यदि आप नहीं जानते कि इसका उपयोग कैसे करना है, तो आप काम कर सकते हैं। यह और भी निराशाजनक हो सकता है यदि आप नहीं जानते कि इसे अपने कोड में कहां लागू करना है। यहां, हम आपको कुछ वास्तविक जीवन के उदाहरणों के साथ पायथन में सूची समझ का उपयोग करने का तरीका दिखाएंगे।





पायथन में लिस्ट कॉम्प्रिहेंशन क्या है और यह कैसे काम करता है?

पायथन के साथ वस्तुओं की सूची बनाना आसान है। हालाँकि, यह कार्य थोड़ा थकाऊ हो सकता है जब आपको गणितीय या स्ट्रिंग संचालन से मूल्यों या वस्तुओं की सूची बनाने की आवश्यकता होती है। तभी सूची बोध का उपयोग करना काम आ सकता है।





लिस्ट कॉम्प्रिहेंशन का उपयोग करने का एक फायदा यह है कि आप एक ही लिस्ट में कई ऑपरेशन कर सकते हैं।

आइटम डिलीवर नहीं होने पर अमेज़न से कैसे संपर्क करें

इसके विपरीत, यह नए आइटम बनाता है और उन्हें एक खाली सूची में जोड़ता है जिसे यह स्वचालित रूप से घोषित करता है। तो मैन्युअल रूप से एक खाली सूची बनाने और इसे a . के साथ जोड़ने के बजाय के लिये लूप, पायथन की सूची समझ आपको इस बारे में परेशान किए बिना स्वचालित रूप से ऐसा करने देती है कि नई सूची कैसे आती है।



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

आखिरकार, आप अन्य उद्देश्यों के लिए सूची समझ के आउटपुट का भी उपयोग कर सकते हैं। ऐसा इसलिए है क्योंकि यह अलग-अलग चरों में भावों को ढेर करता है। तो आप उन्हें बाद में संदर्भित कर सकते हैं।





उदाहरण के लिए, आप हो सकते हैं सुंदर सूप के साथ एक वेबसाइट स्क्रैप करना . मान लें कि आप वेबसाइट से सभी वस्तुओं और उनकी कीमतों के नाम प्राप्त करने का इरादा रखते हैं।

फिर आप स्क्रैप किए गए डेटा को CSV या Excel फ़ाइल में डालने का निर्णय लेते हैं। आदर्श अभ्यास सभी वस्तुओं के नाम और उनकी कीमतों को परिमार्जन करना और उन दोनों को अलग-अलग कॉलम में रखना है। हालांकि, एक सूची समझ का उपयोग करते हुए, उस स्थिति में, यह सुनिश्चित करता है कि आपके पास समर्पित चर में स्क्रैप किया गया डेटा है। फिर आप बाद में ऐसे वेरिएबल को Python DataFrame में बदल सकते हैं।





नीचे दिए गए उदाहरण को देखें:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

एक बार जब आप लूप किए गए चर प्राप्त कर लेते हैं, तो आप उन्हें पायथन के पंडों का उपयोग करके डेटाफ़्रेम में अलग-अलग कॉलम में रख सकते हैं।

पायथन में लिस्ट कॉम्प्रिहेंशन कैसे बनाएं और उपयोग करें

NS के लिये एक सूची समझ में लूप एक आवश्यक पुनरावर्तक है। आम तौर पर, पायथन में एक सूची समझ इस प्रारूप को लेती है:

ComprehensionVariable = [expression for items in list]

मुद्रण समझ चर उपरोक्त कोड के परिणाम को एक सूची के रूप में आउटपुट करता है।

हालांकि, सावधान रहें कि सूची की समझ को खुले के साथ भ्रमित न करें के लिये कुंडली।

उदाहरण के लिए, आइए लूप के लिए एक ओपन का उपयोग करें 1 और 30 के बीच तीन के सभी गुणकों की सूची प्राप्त करने के लिए:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

दोनों की तुलना करने के लिए, सूची बोध का उपयोग करके एक ही काम करते हैं:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

आप सशर्त बयानों के साथ एक सूची समझ का भी उपयोग कर सकते हैं। नीचे दिया गया उदाहरण कोड 1 और 10 के बीच सभी विषम संख्याओं को प्रिंट करता है:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

अब, एक open . का उपयोग करके ऊपर दिए गए कोड को फिर से लिखते हैं के लिये कुंडली:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

सम्बंधित: पायथन में एक सूची कैसे जोड़ें

एक सूची बोध भी नेस्टेड को स्वीकार करता है यदि कथन:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

यह एक नेस्टेड भी लेता है के लिये कुंडली:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

आपके पास एक सादा नेस्टेड भी हो सकता है के लिये सूची समझ में लूप:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

आप पायथन सूची समझ के साथ भी स्ट्रिंग्स में हेरफेर कर सकते हैं। आइए नीचे एक वर्ड काउंटर कॉम्प्रिहेंशन पर एक नजर डालते हैं:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

एक सूची समझ एक फ़ंक्शन को भी स्वीकार कर सकती है जो एक विशिष्ट ऑपरेशन करता है। आइए एक गुणक फ़ंक्शन डालें जो सूची समझ में सम संख्याएँ प्राप्त करता है यह देखने के लिए कि यह कैसे काम करता है:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

आप अभी भी समझ का उपयोग किए बिना उपरोक्त कोड को एक ही फ़ंक्शन में लिख सकते हैं। लेकिन एक सूची बोध उपयोगी होता है जब आपको कई पुनरावृत्तियों को करने और उनमें से प्रत्येक को अलग-अलग चर में रखने की आवश्यकता होती है।

उदाहरण के लिए, आप पर एक और ऑपरेशन कर सकते हैं एन और इसके लिए एक समर्पित चर है। आइए विषम संख्याओं से सम संख्याएँ उत्पन्न करने के लिए उपरोक्त समझ को संशोधित करें:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

शब्दकोश और समझ सेट करें

एक सूची समझ के अलावा, पायथन एक शब्दकोश और एक सेट समझ कार्यक्षमता भी प्रदान करता है।

यह कैसे काम करता है यह देखने के लिए नीचे दिए गए डिक्शनरी कॉम्प्रिहेंशन के उदाहरण पर एक नज़र डालें:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

उपरोक्त कोड 1 और 9 के बीच की संख्याओं की सूची के माध्यम से पुनरावृति करता है और उन्हें कुंजी बनाता है। यह तब पायथन को प्रत्येक कुंजी को दो से गुणा करने के लिए कहता है। अंत में, यह उस ऑपरेशन के परिणाम परिणामी सरणी में प्रत्येक कुंजी के लिए संबंधित मानों के रूप में प्रस्तुत करता है।

सम्बंधित: कैसे Arrays और सूचियाँ Python में काम करती हैं

एक सेट समझ एक सूची समझ के समान है। यहाँ एक सेट समझ का एक उदाहरण है:

लैपटॉप पर जूम कैसे इनस्टॉल करें
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

हालांकि, सूची समझ के विपरीत, सेट समझ डुप्लिकेट को हटा देती है:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

आप सूची बोध का उपयोग करके ऊपर दिए गए कोड को देख सकते हैं कि वे कैसे भिन्न हैं।

क्या आप हर बार सूची समझ का उपयोग कर सकते हैं?

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

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

साझा करना साझा करना कलरव ईमेल पायथन सूची समझ का उपयोग कैसे करें (और जब उनका उपयोग न करें)

यहां वह सब कुछ है जो आपको पायथन की इस अद्भुत विशेषता का उपयोग करने के बारे में जानने की आवश्यकता है जो आपकी उत्पादकता और कोड पठनीयता को रातोंरात बढ़ा देगा।

आगे पढ़िए
संबंधित विषय
  • प्रोग्रामिंग
  • अजगर
लेखक के बारे में इडिसौ ओमिसोला(94 लेख प्रकाशित)

Idowu कुछ भी स्मार्ट तकनीक और उत्पादकता के बारे में भावुक है। अपने खाली समय में, वह कोडिंग के साथ खेलता है और जब वह ऊब जाता है तो शतरंज की बिसात पर चला जाता है, लेकिन उसे कभी-कभी दिनचर्या से अलग होना भी पसंद होता है। लोगों को आधुनिक तकनीक के बारे में बताने का उनका जुनून उन्हें और अधिक लिखने के लिए प्रेरित करता है।

Idowu Omisola . की और फ़िल्में या टीवी शो

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

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

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