अजगर सूची क्या है?
एक सूची बिल्कुल वैसी ही है, जैसा कि एक कंटेनर में विभिन्न पायथन ऑब्जेक्ट्स होते हैं, जो पूर्णांक, शब्द, मान आदि हो सकते हैं। यह अन्य प्रोग्रामिंग भाषाओं में एक सरणी के बराबर है। इसे वर्गाकार कोष्ठकों द्वारा दर्शाया गया है (और यह उन विशेषताओं में से एक है जो इसे टुपल्स से अलग करती है, जो कोष्ठक द्वारा अलग होती हैं)। यह परिवर्तनशील भी है, अर्थात इसे संशोधित या अद्यतन किया जा सकता है; टुपल्स के विपरीत, जो अपरिवर्तनीय हैं।
इस अजगर ट्यूटोरियल में, आप सीखेंगे:
- अजगर सूची क्या है?
- पायथन सूची के उदाहरण:
- सूचियों के भीतर मूल्यों तक पहुँचना
- सूची का टुकड़ा
- सूचियों को अद्यतन करना
- सूची तत्वों को हटाना
- सूची तत्वों को लागू करना
- सूची में निर्मित कार्यों (तरीके)
- सूचियों के माध्यम से लूपिंग
- सूची की समझ
पायथन सूची के उदाहरण:
पायथन सूची सजातीय हो सकती है, जिसका अर्थ है कि वे एक ही प्रकार की वस्तुओं को शामिल कर सकते हैं; या विषम, विभिन्न प्रकार की वस्तुओं सहित।
सजातीय सूची के उदाहरणों में शामिल हैं:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
विषम सूची के उदाहरणों में शामिल हैं:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
सूचियों के भीतर मूल्यों तक पहुँचना
सूचियों के भीतर मूल्यों का उपयोग करने के लिए, सूचियों के अंदर वस्तुओं के सूचकांक का उपयोग किया जा सकता है। पायथन सूचियों में एक सूचकांक एक आदेशित सूची के भीतर एक तत्व की स्थिति को संदर्भित करता है। उदाहरण के लिए:
list = [3, 22, 30, 5.3, 20]
- 3 से ऊपर की सूची में पहला मान, 0 का एक सूचकांक है
- दूसरा मान, 22, में 1 का सूचकांक है
- तीसरे मूल्य, 30, में 2 का सूचकांक है
और इसी तरह। सूची से प्रत्येक मान तक पहुँचने के लिए, आप उपयोग करेंगे:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
किसी सूची के अंतिम सदस्य को इंडेक्स -1 का उपयोग करके भी एक्सेस किया जा सकता है। उदाहरण के लिए,
list[-1] = 20
सूची का टुकड़ा
सूची स्लाइसिंग किसी सूची के सबसेट को विभाजित करने की विधि है, और सूची ऑब्जेक्ट्स के सूचक इसके लिए भी उपयोग किए जाते हैं। उदाहरण के लिए, ऊपर एक ही सूची उदाहरण का उपयोग करना;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
पायथन सूची ऊपरी-बाउंड अनन्य हैं, और इसका मतलब है कि सूची स्लाइसिंग के दौरान अंतिम सूचकांक आमतौर पर अनदेखा किया जाता है। इस कर
list[2:-1] = [30, 5.3], और नहीं [30, 5.3, 20]। वही ऊपर दी गई सभी अन्य सूची स्लाइसिंग उदाहरणों के लिए जाता है।
सूचियों को अद्यतन करना
मान लें कि आपके पास एक सूची है [[भौतिक विज्ञान, रसायन विज्ञान, गणित], और आप सूची को [जीवविज्ञान, रसायन विज्ञान, गणित] में बदलना चाहते हैं, प्रभावी रूप से सूचकांक 0. पर सदस्य को बदल सकते हैं। यह आसानी से उस सूचकांक को निर्दिष्ट करके किया जा सकता है। नया सदस्य जो आप चाहते हैं
अर्थात्,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
आउटपुट: [जीव विज्ञान, रसायन विज्ञान, गणित]
यह इंडेक्स 0 (भौतिकी) में सदस्य को आपके (केमिस्ट्री) के नए मूल्य के साथ प्रतिस्थापित करता है। यह उस सूची के किसी भी सदस्य या सबसेट के लिए किया जा सकता है जिसे आप बदलना चाहते हैं।
एक और उदाहरण देने के लिए; मान लीजिए कि आपके पास एक सूची है जिसे पूर्णांक और संख्याओं से युक्त है [2, 5, 9, 20, 27]। 10 के साथ उस सूची में 5 को बदलने के लिए, आप ऐसा कर सकते हैं:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
पूर्णांक की सूची के अंतिम सदस्य को बदलने के लिए, जो 27 है, 30.5 जैसी मुफ्त संख्या के साथ, आप उपयोग करेंगे:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
सूची तत्वों को हटाना
सूची तत्वों को हटाने के लिए 3 पायथन तरीके हैं: list.remove (), list.pop (), और डेल ऑपरेटर। निकालें विधि विशेष तत्व को एक तर्क के रूप में हटाने के लिए ले जाती है जबकि पॉप और डेल तर्क के रूप में हटाए जाने वाले तत्व के सूचकांक को लेते हैं। उदाहरण के लिए:
सूची = [३, ५, 5, 5, ९, २०]
सूची से 3 (1 तत्व) को हटाने के लिए, आप उपयोग कर सकते हैं:
- list.remove (3) या
- list.pop [को ०], या
- डेल सूची [0]
सूची से 3, सूचकांक 3 पर आइटम को हटाने के लिए, आप उपयोग कर सकते हैं:
- list.remove (8), या
- list.pop [3]
सूची तत्वों को लागू करना
किसी सूची में तत्वों को जोड़ने के लिए, परिशिष्ट विधि का उपयोग किया जाता है, और यह तत्व को सूची के अंत में जोड़ता है।
उदाहरण के लिए:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
सूची में निर्मित कार्यों (तरीके)
उनके विवरण के साथ निर्मित कार्यों और विधियों की सूची निम्नलिखित है:
- len (सूची): यह सूची की लंबाई को आउटपुट के रूप में देता है। उदाहरण के लिए:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- अधिकतम (सूची): अधिकतम मूल्य के साथ सूची में आइटम लौटाता है। उदाहरण के लिए:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- न्यूनतम (सूची): न्यूनतम मूल्य के साथ सूची में आइटम लौटाता है। उदाहरण के लिए:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- सूची (टुपल): एक ट्यूपल ऑब्जेक्ट को एक सूची में परिवर्तित करता है। उदाहरण के लिए;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (तत्व): तत्व को सूची में जोड़ता है। उदाहरण के लिए;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (इंडेक्स): सूची से तत्व को निर्दिष्ट इंडेक्स पर हटाता है। उदाहरण के लिए;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (तत्व): सूची से तत्व को हटाता है। उदाहरण के लिए;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): सूची की वस्तुओं को उलट देता है। उदाहरण के लिए;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (तत्व): सूची के भीतर एक तत्व का सूचकांक मूल्य प्राप्त करने के लिए। उदाहरण के लिए;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- योग (सूची): सूची में सभी मूल्यों का योग प्राप्त करने के लिए, यदि मूल्य सभी संख्याएँ (पूर्णांक या दशमलव) हैं। उदाहरण के लिए;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
यदि सूची में कोई तत्व है जो संख्या नहीं है, जैसे कि स्ट्रिंग, योग विधि काम नहीं करेगी। आपको यह कहते हुए एक त्रुटि मिलेगी: " TypeError : unsupported operand type (s) for +: 'int' और 'str'"
- list.sort (): आरोही या अवरोही क्रम में पूर्णांक, फ्लोटिंग पॉइंट संख्या, या स्ट्रिंग्स की सूची की व्यवस्था करना। उदाहरण के लिए:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
एक और उदाहरण:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
तार की एक सूची को भी वर्णानुक्रम में या तार की लंबाई से हल किया जा सकता है। उदाहरण के लिए;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
हम 'स्ट्रिंग्स' का उपयोग करके उसी सूची को वर्णानुक्रम में सॉर्ट कर सकते हैं।
सूचियों के माध्यम से लूपिंग
सूचियों के माध्यम से लूपिंग उसी तरह से किया जा सकता है जैसे कि पायथन में किसी अन्य लूपिंग फ़ंक्शन के रूप में। इस तरह, एक सूची एक ही समय में एक सूची के कई तत्वों पर की जा सकती है। उदाहरण के लिए:
सूची = [१०, २०, ३०, ४०, ५०, ६०, 20०]।
इस सूची के सभी तत्वों के माध्यम से लूप करने के लिए, और मान लें कि प्रत्येक तत्व में 10 जोड़ते हैं:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
सूची के पहले तीन तत्वों के माध्यम से लूप करने के लिए, और उन सभी को हटा दें;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
सूची पर अंतिम तत्व के लिए 3 rd (अनुक्रमणिका 2) के माध्यम से लूप करने के लिए, और उन्हें एक नई सूची में जोड़ें, जिसे new_list कहा जाता है:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
इस तरह, किसी भी विधि या कार्य को किसी विशेष ऑपरेशन को करने के लिए किसी सूची के सदस्यों पर लागू किया जा सकता है। आप या तो सूची के सभी सदस्यों के माध्यम से लूप कर सकते हैं, या सूची स्लाइसिंग का उपयोग करके सूची के सबसेट के माध्यम से लूप कर सकते हैं।
सूची की समझ
सूची समझें पायथन फ़ंक्शंस हैं जो नए दृश्यों (जैसे सूचियों, शब्दकोशों, आदि) के लिए उपयोग किए जाते हैं जो पहले से ही बनाए गए दृश्यों का उपयोग करते हैं। वे लंबे छोरों को कम करने और आपके कोड को पढ़ने और बनाए रखने में आसान बनाने में मदद करते हैं।
उदाहरण के लिए; मान लीजिए कि आप एक सूची बनाना चाहते हैं जिसमें 1 से 9 तक सभी संख्याओं के वर्ग शामिल हैं:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
सूची समझ के साथ एक ही काम करने के लिए:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
जैसा कि ऊपर देखा गया है, सूची समझ का उपयोग करके कोड लिखना छोरों के लिए पारंपरिक का उपयोग करने की तुलना में बहुत कम है, और तेज भी है। यह छोरों के स्थान के लिए सूची समझ का उपयोग करने का सिर्फ एक उदाहरण है, लेकिन इसे दोहराया जा सकता है और बहुत से स्थानों पर उपयोग किया जा सकता है जहां छोरों के लिए भी उपयोग किया जा सकता है। कभी-कभी, लूप के लिए जाना बेहतर विकल्प होता है, खासकर अगर कोड जटिल है, लेकिन कई मामलों में, सूची की समझ आपके कोडिंग को आसान और तेज़ बना देगी।
नीचे कुछ सूची फ़ंक्शंस और विधियों और उनके विवरणों वाली एक तालिका है।
अंतर्निहित कार्य
समारोह | विवरण |
गोल() | अंकों की संख्या को निर्दिष्ट संख्या के लिए एक तर्क के रूप में पारित कर दिया और अस्थायी बिंदु मान लौटाता है |
न्यूनतम () | किसी दिए गए सूची का न्यूनतम तत्व लौटाएं |
अधिकतम () | किसी दी गई सूची का अधिकतम तत्व लौटाएं |
लेन () | सूची की लंबाई लौटाता है |
गणना करें () | यह बिल्ट-इन फ़ंक्शन आइटम्स के मान और इंडेक्स दोनों को एक पुनरावृत्त में उत्पन्न करता है, इसलिए हमें मैन्युअल रूप से गणना करने की आवश्यकता नहीं है |
फ़िल्टर () | यह जाँचता है कि सूची का प्रत्येक तत्व सही है या नहीं |
लैम्ब्डा | एक अभिव्यक्ति जो उन जगहों पर दिखाई दे सकती है जहाँ एक सूची (फ़ंक्शन बनाने के लिए) सिंटैक्टिक नहीं है, सूची शाब्दिक या फ़ंक्शन के कॉल तर्क के अंदर |
नक्शा() | दिए गए फ़ंक्शन के दिए गए फ़ंक्शन को दिए गए प्रत्येक आइटम पर लागू करने के बाद परिणामों की एक सूची देता है |
संचय करें() | सूची के सभी तत्वों के लिए अपने तर्क में पारित एक विशेष फ़ंक्शन लागू करें एक सूची जिसमें मध्यवर्ती परिणाम होते हैं |
सम () | सूची में सभी संख्याओं का योग लौटाता है |
सीएमपी () | इसका उपयोग दो सूचियों और रिटर्न 1 की तुलना के लिए किया जाता है यदि पहली सूची दूसरी सूची से अधिक है। |
डालने | विशेष स्थिति में सूचीबद्ध करने के लिए तत्व डालें |
सूची के तरीके
समारोह | विवरण |
परिशिष्ट () | सूची के अंत में एक नया आइटम जोड़ता है |
स्पष्ट() | सूची से सभी आइटम निकालता है |
कॉपी () | मूल सूची की एक प्रति लौटाता है |
विस्तार () | सूची के अंत में कई आइटम जोड़ें |
गिनती () | किसी सूची में किसी विशेष आइटम की घटनाओं की संख्या देता है |
सूचकांक () | किसी सूची के विशिष्ट तत्व का सूचकांक लौटाता है |
पॉप() | विशेष सूचकांक में सूची से आइटम हटाता है (स्थिति से हटाएं) |
हटाना() | सूची से आइटम निर्दिष्ट करता है (मूल्य से हटाएं) |
उलटना() | इन-प्लेस रिवर्सल विधि जो सूची के तत्वों के क्रम को उलट देती है |
सारांश
- एक सूची बिल्कुल वैसी ही होती है, जैसे एक कंटेनर जिसमें विभिन्न पायथन ऑब्जेक्ट्स होते हैं, जो पूर्णांक, शब्द, मान आदि हो सकते हैं।
- अजगर सूची सजातीय हो सकती है, इसका मतलब है कि वे एक ही प्रकार की वस्तुओं को शामिल कर सकते हैं; या विषम, विभिन्न प्रकार की वस्तुओं से युक्त।
- सूचियों के भीतर मूल्यों का उपयोग करने के लिए, सूचियों के अंदर वस्तुओं के सूचकांक का उपयोग किया जा सकता है।
- सूची स्लाइसिंग किसी सूची के सबसेट को विभाजित करने की विधि है, और सूची ऑब्जेक्ट्स के सूचक इसके लिए भी उपयोग किए जाते हैं।
- सूची तत्वों को हटाने के लिए तीन विधियाँ हैं: 1) सूची.समूह (), 2) सूची.पॉप (), और 3) ग्राहक ऑपरेटर
- एपेंड विधि का उपयोग तत्वों को जोड़ने के लिए किया जाता है। यह तत्व को सूची के अंत में जोड़ता है।
- एक ही समय में एक डेटा सूची के कई तत्वों पर पायथन कार्यक्रम की लूपिंग विधि का प्रदर्शन किया जा सकता है।
- सूची समझें पायथन फ़ंक्शंस हैं जो नए दृश्यों (जैसे सूचियों, शब्दकोशों, आदि) के लिए उपयोग किए जाते हैं जो पहले से ही बनाए गए दृश्यों का उपयोग करते हैं।