Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन लिस्ट कॉम्प्रिहेंशन:ए हाउ-टू गाइड

पायथन सूची समझ मौजूदा सूची के आधार पर सूची बनाने का एक तरीका है। सूची समझ का उपयोग आमतौर पर किसी सूची से आइटम को फ़िल्टर करने या मौजूदा सूची में मानों को बदलने के लिए किया जाता है। सूची समझ वर्ग कोष्ठक में संलग्न हैं।

जब आप सूचियों के साथ काम कर रहे हों, तो आप मौजूदा अनुक्रम की सामग्री के आधार पर एक सूची बनाना चाह सकते हैं। उदाहरण के लिए, आप वर्णों के अनुक्रम के आधार पर एक सूची बनाना चाह सकते हैं। या आप एक ऐसी सूची चाहते हैं जो दूसरी सूची की सामग्री को दो से गुणा करे।

यहीं से सूची की समझ आती है। यह ट्यूटोरियल उदाहरणों के साथ, पायथन सूचियों की मूल बातें और सूची समझ का उपयोग करने के तरीके का पता लगाएगा।

पायथन सूचियां:एक पुनश्चर्या

सूची डेटा संरचना आपको पायथन में वस्तुओं के संग्रह को संग्रहीत करने की अनुमति देती है। सूचियों का उपयोग आमतौर पर तब किया जाता है जब आप किसी तरह से संबंधित कई मानों के साथ काम करना चाहते हैं।

उदाहरण के लिए, आप एक आइसक्रीम स्टोर में बिकने वाले आइसक्रीम के सभी स्वादों को स्टोर करने के लिए एक सूची का उपयोग कर सकते हैं। या आप किसी वाइन क्लब में सदस्यों के फ़ोन नंबरों की सूची स्टोर करने के लिए एक सूची का उपयोग कर सकते हैं।

यहाँ पायथन में एक सूची का उदाहरण दिया गया है:

pizzas = ['Chicken', 'Margherita', 'Chicken and Bacon', 'Vegan Special', 'Spinach and Brie', 'BBQ Chicken']

अब जब हमने सूचियों की मूल बातें संशोधित कर ली हैं, तो हम सूची समझ का उपयोग करने के तरीके के बारे में बात करना शुरू कर सकते हैं।

पायथन सूची समझ

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

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

आप फ़िल्टर निर्दिष्ट कर सकते हैं ताकि आपकी नई सूची में केवल कुछ मान शामिल हों। उदाहरण के लिए, आप संख्याओं की सूची से एक नई सूची बना सकते हैं। आपकी नई सूची में केवल 250 से अधिक संख्याएं शामिल हो सकती हैं।

पायथन में सूची समझ के लिए वाक्य रचना इस प्रकार है:

[expression for item in list]

यह सिंटैक्स के लिए . पायथन के समान है बयान। लेकिन, बयान एक लाइन पर है। एक कथन के बीच अंतर करने के लिए, एक सूची समझ वर्ग कोष्ठक के भीतर संलग्न है।

उपरोक्त वाक्य रचना के तीन भाग हैं:

  • अभिव्यक्ति :अंतिम मान जो नई सूची में जाता है।
  • आइटम :सूची में अलग-अलग आइटम जिस पर आप पुनरावृति करते हैं।
  • सूची :सूची या पुनरावर्तनीय वस्तु जिसके माध्यम से सूची समझ का पता चलता है (स्वीकार्य डेटा प्रकारों में टुपल्स, स्ट्रिंग्स और सूचियाँ शामिल हैं)।

आप एक पायथन के साथ एक सूची समझ का उपयोग कर सकते हैं अगर… और अंदर बयान:

[expression for item in list if condition else none]

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

सूची बोध का उपयोग करके आप के लिए . को पूर्ण परिभाषित किए बिना मौजूदा सूची से नई सूची बना सकते हैं बयान। के लिए कथनों में कोड की कम से कम दो पंक्तियाँ होती हैं जबकि आप एक पंक्ति पर सूची समझ लिख सकते हैं।

कुछ लोग कहते हैं कि सूची की समझ अधिक पाइथोनिक कोड है। ऐसा इसलिए है क्योंकि वे के लिए . के संक्षिप्त उपयोग की तुलना में अधिक कुशल हैं बयान।

पायथन सूची समझ उदाहरण

मान लीजिए हम अपने स्टोर पर बिकने वाले सभी चिकन पिज्जा की एक सूची बनाना चाहते हैं। हम सभी चिकन पिज़्ज़ा को चिकन . में स्थानांतरित करने जा रहे हैं हमारे मेनू पर श्रेणी। ऐसा करने के लिए, हम के लिए . का उपयोग करके अपने पिज़्ज़ा को फ़िल्टर कर सकते हैं बयान। या, हम सूची समझ का उपयोग करके अपनी सूची को फ़िल्टर कर सकते हैं।

हम पिज़्ज़ा की एक नई सूची बनाने के लिए सूची समझ का उपयोग कर सकते हैं जिनके नाम में चिकन शामिल हैं पिज़्ज़ा की हमारी मौजूदा सूची के आधार पर। हम इस कोड का उपयोग करके ऐसा कर सकते हैं:

pizzas = ['Chicken', 'Margherita', 'Chicken and Bacon', 'Vegan Special', 'Spinach and Brie', 'BBQ Chicken']

chicken_pizzas = [p for p in pizzas if "Chicken" in p]
print(chicken_pizzas)

हमारी समझ निम्नलिखित आउटपुट सूची लौटाती है:

[‘Chicken’, ‘Chicken and Bacon’, ‘BBQ Chicken’]

हमारे कोड में, हम सबसे पहले अपने मेनू पर पिज्जा की एक सूची को परिभाषित करते हैं। हमारे पिज़्ज़ा को पिज़्ज़ा . नामक पायथन वेरिएबल में संग्रहित किया जाता है . फिर, हम पिज़्ज़ा की एक नई सूची बनाने के लिए एक सूची समझ का उपयोग करते हैं जिनके नाम में चिकन। शामिल हैं।

हमारी सूची समझ में निम्नलिखित भाग होते हैं:

  • p :यह हमारी सूची में जोड़ा जाने वाला मूल्य है।
  • पिज्जा में p के लिए :यह हमारी "पिज्जा" सूची में प्रत्येक पिज़्ज़ा के माध्यम से लूप करता है।
  • यदि p में "चिकन" हो :यह जांचता है कि प्रत्येक पिज्जा में "चिकन" है या नहीं। यदि इसका मूल्यांकन सही होता है, तो "p" में संग्रहीत मान हमारी सूची में जोड़ दिया जाता है।

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

सूची समझ के बिना

आइए चिकन पिज्जा के उदाहरण पर लौटते हैं। सूची समझ का उपयोग किए बिना, यदि हम अपने मेनू पर चिकन पिज्जा की सूची बनाना चाहते हैं, तो हम इस कोड का उपयोग करेंगे:

pizzas = ['Chicken', 'Margherita', 'Chicken and Bacon', 'Vegan Special', 'Spinach and Brie', 'BBQ Chicken']
chicken_pizzas = []

for pizza in pizzas:
	if "Chicken" in pizza:
		chicken_pizzas.append(pizza)

print(chicken_pizzas)

हमारा कोड लौटाता है:

[‘Chicken’, ‘Chicken and Bacon’, ‘BBQ Chicken’]

सबसे पहले, हम दो सूचियों को परिभाषित करते हैं। एक सूची में हमारे स्टोर पर बेचे जाने वाले पिज़्ज़ा की सूची संग्रहीत होती है। दूसरी सूची हमारे द्वारा बेचे जाने वाले सभी चिकन पिज्जा की एक सूची संग्रहीत करती है। हमारे द्वारा बेचे जाने वाले चिकन पिज्जा की सूची शुरू में खाली है।

हम पिज्जा की अपनी सूची में प्रत्येक पिज्जा के माध्यम से जाने के लिए "के लिए" कथन का उपयोग करते हैं। फिर, हम यह देखने के लिए जाँच करते हैं कि क्या प्रत्येक पिज़्ज़ा में चिकन। . शब्द है अगर पिज़्ज़ा में चिकन . शब्द है , हम उस पिज़्ज़ा को अपनी चिकन पिज़्ज़ा की सूची में शामिल करते हैं। इस मामले में, तीन पिज़्ज़ा में चिकन होता है , और उन तीनों पिज़्ज़ा को हमारे चिकन_पिज़्ज़ा . में जोड़ा जाता है सूची।

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

अगर… और का उपयोग करके समझ की सूची बनाएं

आप अगर… और . का भी उपयोग कर सकते हैं एक सूची समझ के साथ बयान।

पहले, हम एक if . का उपयोग करते थे चिकन पिज्जा की हमारी सूची में पिज्जा जोड़ने का बयान। हमने पिज़्ज़ा केवल तभी जोड़ा है जब पिज़्ज़ा के नाम में चिकन . शब्द शामिल हो . लेकिन, मान लीजिए कि हम एक सूची बना रहे हैं कि कौन से पिज्जा शाकाहारी हैं।

यदि पिज़्ज़ा नाम में चिकन . है तो हम सूची में "मांस" जोड़ना चाहते हैं और शाकाहारी अगर पिज़्ज़ा के नाम में चिकन नहीं है ।

यह सूची समझ का उपयोग करके किया जा सकता है:

pizzas = ['Chicken', 'Margherita', 'Chicken and Bacon', 'Vegan Special', 'Spinach and Brie', 'BBQ Chicken']

is_veggie = ["Meat" if "Chicken" in p else "Vegetarian" for p in pizzas]

print(is_veggie)

हमारा कोड लौटाता है:

[‘Meat’, ‘Vegetarian’, ‘Meat’, ‘Vegetarian’, ‘Vegetarian’, ‘Meat’]

आइए हमारे कोड को तोड़ दें। सबसे पहले, हम पिज्जा . नामक पिज़्ज़ा की एक सूची घोषित करते हैं . फिर, हम एक पिज़्ज़ा नाम में चिकन . का आकलन करने के लिए सूची समझ का उपयोग करते हैं या नहीं।

अगर पिज़्ज़ा के नाम में चिकन है , मान मांस हमारे is_veggie . में जोड़ा जाता है सूची। अन्यथा, मान शाकाहारी जोड़ा गया है।

जैसा कि आप देख सकते हैं, हमारे is_veggie . में पहला मान सूची मांस है , क्योंकि पिज्जा . में इसका संगत मान सूची है चिकन . लेकिन, हमारा अगला मूल्य शाकाहारी है , क्योंकि पिज्जा . में इसका संगत मान सूची है मार्गेरिटा , जिसमें चिकन . नहीं है ।



निष्कर्ष

सूची समझ आपको मौजूदा सूची के आधार पर एक नई सूची बनाने की अनुमति देती है। सूची समझ का उपयोग करके, आप सूची की एक प्रति बना सकते हैं, या एक नई सूची बना सकते हैं जो पुरानी सूची से मानों को फ़िल्टर कर देती है।

इस ट्यूटोरियल में उदाहरणों के संदर्भ में, पायथन सूचियों की मूल बातें और नई सूचियाँ बनाने के लिए सूची समझ तकनीक का उपयोग करने के तरीके पर चर्चा की गई।

क्या आप पायथन में कोडिंग के बारे में अधिक जानना चाहते हैं? हमारी जाँच करें कि पायथन गाइड कैसे सीखें। इस गाइड में सीखने के संसाधनों की एक सूची है जो आपको पायथन में महारत हासिल करने की अपनी यात्रा जारी रखने में मदद करेगी।


  1. पायथन फाइंड इन लिस्ट:ए बिगिनर्स गाइड

    आप पाइथन सूची में कोई आइटम कैसे ढूंढते हैं? यह एक ऐसा प्रश्न है जिसका सभी पायथन कोडर्स किसी न किसी बिंदु पर सामना करते हैं। सौभाग्य से, भाषा ऐसे कई तरीके प्रदान करती है जिनसे आप सूची में कोई आइटम ढूंढ सकते हैं, जैसे in का उपयोग करना ऑपरेटर या रैखिक खोज। इस गाइड में, हम सूची में किसी आइटम को खोजने

  1. पायथन स्विच स्टेटमेंट:ए हाउ-टू गाइड

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

  1. पायथन हैलो वर्ल्ड:ए हाउ-टू गाइड

    पायथन हैलो वर्ल्ड प्रोग्राम आमतौर पर पहला प्रोग्राम होता है जिसे कोडर पायथन में लिखेगा। यह प्रोग्राम पायथन कंसोल पर एक स्ट्रिंग प्रदर्शित करने के लिए एक प्रिंट स्टेटमेंट का उपयोग करता है। कार्यक्रम इस तरह दिखता है:प्रिंट (हैलो वर्ल्ड)। यह सुनिश्चित करने के लिए कि आपका पायथन संस्करण काम करता है, सब