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

पायथन में सूची समझ को समझना

2024-08-27 को प्रकाशित
ब्राउज़ करें:356

Understanding List Comprehensions in Python

पाइथॉन में सूचियां बनाने के लिए सूची समझ एक शक्तिशाली और कुशल तरीका है।

वे मौजूदा पुनरावृत्तियों के आधार पर सूचियां तैयार करने का एक संक्षिप्त और पठनीय तरीका प्रदान करते हैं।

लेख में, मैं सूची समझ की बारीकियों, पारंपरिक लूपों पर उनके लाभों और विभिन्न व्यावहारिक अनुप्रयोगों का पता लगाऊंगा।


सूची समझ क्या हैं?

सूची समझ लूपिंग और सशर्त तर्क को कोड की एक पंक्ति में जोड़कर सूचियां बनाने का एक वाक्यात्मक रूप से संक्षिप्त तरीका है।

इसके परिणामस्वरूप सूचियां तैयार करने का तरीका अधिक पठनीय और अभिव्यंजक हो जाता है, जिससे एक नज़र में कोड के इरादे को समझना आसान हो जाता है।


संरचना और उदाहरण

सूची समझ की मूल संरचना इस प्रकार है:

[expression for item in iterable if condition]

आइए इस संरचना के घटकों को तोड़ें:

  • अभिव्यक्ति: यह वह मान है जो प्रत्येक पुनरावृत्ति के लिए नई सूची में जोड़ा जाएगा।
  • पुनरावृत्तीय आइटम के लिए: यह लूपिंग निर्माण है जो पुनरावृत्तीय में प्रत्येक आइटम पर पुनरावृत्त होता है (उदाहरण के लिए, सूची, टपल, सेट, शब्दकोश, या जनरेटर)।
  • यदि शर्त: यह एक वैकल्पिक सशर्त विवरण है जो नई सूची में शामिल किए जाने वाले आइटम को फ़िल्टर करता है।

उदाहरण:

बुनियादी सूची समझ:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)  

# Output: [1, 4, 9, 16, 25]

यह उदाहरण संख्याओं की मौजूदा सूची से वर्गों की एक नई सूची बनाने के लिए सूची समझ का उपयोग करता है।

एक शर्त के साथ सूची समझ:

numbers = [1, 2, 3, 4, 5]
even_squares = [x**2 for x in numbers if x % 2 == 0]
print(even_squares)  

# Output: [4, 16]

यह उदाहरण केवल सम संख्याओं को शामिल करने के लिए संख्याओं को फ़िल्टर करता है, जिन्हें तब वर्गित किया जाता है, जो सूची समझ में एक if शर्त के उपयोग को प्रदर्शित करता है।


पारंपरिक लूप्स की तुलना में सूची समझ के लाभ

सूची समझ पारंपरिक लूप की तुलना में कई लाभ प्रदान करती है:

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

व्यावहारिक अनुप्रयोगों

सूची समझ का उपयोग डेटा में हेरफेर और प्रसंस्करण के लिए विभिन्न तरीकों से किया जा सकता है।

यहां कुछ सामान्य उपयोग के मामले दिए गए हैं:
फ़िल्टरिंग सूचियाँ:

words = ["apple", "banana", "cherry", "date"]
short_words = [word for word in words if len(word) 



यह उदाहरण केवल 5 या उससे कम वर्णों वाले शब्दों को शामिल करने के लिए शब्दों की एक सूची को फ़िल्टर करता है।

परिवर्तनकारी सूचियाँ:

temperatures_celsius = [0, 20, 30, 40]
temperatures_fahrenheit = [(temp * 9/5)   32 for temp in temperatures_celsius]
print(temperatures_fahrenheit)  

# Output: [32.0, 68.0, 86.0, 104.0]

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

नेस्टेड सूची समझ:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]
print(flattened)  

# Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]

यह उदाहरण नेस्टेड सूची समझ का उपयोग करके 2डी सूची (मैट्रिक्स) को 1डी सूची में समतल करता है।

ट्यूपल्स की सूचियां बनाना:

pairs = [(x, y) for x in range(3) for y in range(3)]
print(pairs) 

# Output: [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

यह उदाहरण दो श्रेणियों से संख्याओं के सभी संभावित जोड़े (टुपल्स) की एक सूची तैयार करता है।

डुप्लिकेट हटा रहा है:

list_with_duplicates = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set([x for x in list_with_duplicates]))
print(unique_list)  

# Output: [1, 2, 3, 4, 5]

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


अधिक उन्नत विषय

आइए अब सूची समझ विविधताओं के संबंध में कुछ और उन्नत विषयों का पता लगाएं।

जेनरेटर एक्सप्रेशन
जेनरेटर अभिव्यक्तियाँ सूची समझ के समान हैं लेकिन सूची के बजाय पुनरावर्तनीय उत्पन्न करती हैं।

बड़े डेटासेट के साथ काम करते समय यह अधिक मेमोरी-कुशल हो सकता है, क्योंकि आइटम एक ही बार में मेमोरी में संग्रहीत होने के बजाय तुरंत उत्पन्न होते हैं।

numbers = [1, 2, 3, 4, 5]
squares_generator = (x**2 for x in numbers)

for square in squares_generator:
    print(square)

# Output
# 1
# 4
# 9
# 16
# 25

शब्दकोश और सेट समझ
पायथन शब्दकोश और सेट समझ का भी समर्थन करता है, जो आपको सूची समझ के समान संक्षिप्त तरीके से शब्दकोश और सेट बनाने की अनुमति देता है।

# Dictionary comprehension
numbers = [1, 2, 3, 4, 5]
squares_dict = {x: x**2 for x in numbers}
print(squares_dict)  

# Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}



# Set comprehension
list_with_duplicates = [1, 2, 2, 3, 4, 4, 5]
unique_set = {x for x in list_with_duplicates}
print(unique_set)  

# Output: {1, 2, 3, 4, 5}


निष्कर्ष

सूची समझ पायथन में एक शक्तिशाली और बहुमुखी उपकरण है जो आपको संक्षिप्त और पठनीय तरीके से सूचियां बनाने में सक्षम बनाता है।

वे आपके कोड को सरल बना सकते हैं, प्रदर्शन में सुधार कर सकते हैं और डेटा में हेरफेर और प्रसंस्करण को आसान बना सकते हैं।

सूची समझ और उनकी उन्नत सुविधाओं में महारत हासिल करके, आप अधिक कुशल और स्वच्छ पायथन कोड लिख सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/devasservice/understandard-list-comprehenions-in-python-1b2p?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3