पायथन में बिल्ट-इन डेटा स्ट्रक्चर्स
बिल्ट-इन डेटा स्ट्रक्चर्स पायथन में लिस्ट्स, डिक्शनरीज़, टुपल्स, और सेट्स शामिल हैं।
लिस्ट्स
लिस्ट्स म्यूटेबल (परिवर्तन योग्य) डेटा स्ट्रक्चर्स हैं जिनमें असमान एलिमेंट्स या भाग हो सकते हैं। दूसरे शब्दों में, एक सिंगल लिस्ट में विभिन्न डेटा टाइप्स हो सकते हैं।
list = ['string', 300, (2, 4), 'that previous data type was a tuple']
लिस्ट डेटा स्ट्रक्चर में लिस्ट को जोड़ने, हटाने, या हेरफेर करने के लिए 11 मेथड्स होते हैं।
लिस्ट में एलिमेंट्स जोड़ना
- append(): append() मेथड लिस्ट पर सिंगल आइटम जोड़ता है
list = ['string, next is tupel', (2, 1), 3] list.append(500) print(list) # prints ['string, next is tupel', (2, 1), 3, 500]
- extend(): extend() मेथड इटरेबल से सभी आइटम्स द्वारा लिस्ट को जोड़ता है। यह append() से निम्न तरीके से भिन्न होता है।
list = ['string, next is tupel', (2, 1), 3] list.append((8, 9)) print(list) # prints ['string, next is tupel', (2, 1), 3, (8, 9)] # ध्यान दें कि append() (8, 9) को टुपल के रूप में छोड़ देता है
list = ['string, next is tupel', (2, 1), 3] list.extend((8, 9)) print(list) # prints ['string, next is tupel', (2, 1), 3, 8, 9] # ध्यान दें कि extend() (8, 9) को टुपल के रूप में नहीं छोड़ता
- insert(): insert() मेथड दिए गए पोजीशन या इंडेक्स पर आइटम डालता है। पहला तर्क डालने के लिए आवश्यक एलिमेंट का इंडेक्स है, दूसरा तर्क एलिमेंट स्वयं है।
list = ['string, next is tupel', (2, 1), 3] list.insert(0, 700) print(list) # prints [700, 'string, next is tupel', (2, 1), 3] # 700 को 0 इंडेक्स में डाला गया
लिस्ट से एलिमेंट्स हटाना
- remove(): remove() मेथड लिस्ट पर पहला आइटम हटाता है जिसमें वह मान होता है जो इसे दिया गया था।
list = ['string, next is tupel', (2, 1), 3, 8, 3] list.remove(3) print(list) # prints ['string, next is tupel', (2, 1), 8, 3]
- pop(): pop() मेथड दिए गए पोजीशन में मान को हटाता है, हालांकि यदि कोई इंडेक्स नहीं दिया जाता है, तो यह अंतिम आइटम को हटा देता है।
list = ['string, next is tupel', (2, 1), 3] list.pop(0) print(list) # prints [(2, 1), 3]
list = ['string, next is tupel', (2, 1), 3] list.pop() print(list) # prints ['string, next is tupel', (2, 1)]
- clear(): clear() मेथड कोई तर्क नहीं लेता। यह लिस्ट से सभी आइटम्स हटा देता है।
list = ['string, next is tupel', (2, 1), 3] list.clear() print(list) # prints []
अन्य लिस्ट मेथड्स
- index(): index() मेथड दिए गए मान का इंडेक्स रिटर्न करता है।
list = [8, 20, 1, 9, 2, 3, 937, 0] print(list.index(9)) # prints 3
- count(): count() मेथड गिनता है कि कोई मान लिस्ट में कितनी बार होता है।
list = [8, 20, 1, 8, 2, 8, 937, 8] print(list.count(8)) # prints 4
- sort(): sort() मेथड का उपयोग तर्कों के साथ या बिना किया जा सकता है और कस्टम सॉर्टिंग के लिए उपयोग किया जा सकता है।
list = [8, 20, 1, 9, 2, 3, 937, 0] list.sort() print(list) # prints [0, 1, 2, 3, 8, 9, 20, 937]
list = [8, 20, 1, 9, 2, 3, 937, 0] list.sort(reverse=True) print(list) # prints [937, 20, 9, 8, 3, 2, 1, 0]
- reverse(): रिवर्स मेथड लिस्ट के एलिमेंट्स को इन-प्लेस उलट देता है, बहुत कुछ ऊपर के सॉर्ट मेथड की तरह जो कस्टमाइज्ड सॉर्टिंग तर्क लेता है।
list = [8, 20, 1, 9, 2, 3, 937, 0] list.reverse() print(list) # prints [0, 937, 3, 2, 9, 1, 20, 8]
- copy(): copy() मेथड बस लिस्ट की एक कॉपी रिटर्न करता है।
list = [8, 20, 1, 9, 2, 3, 937, 0] list.copy() print(list) # prints [8, 20, 1, 9, 2, 3, 937, 0]
टुपल्स
टुपल्स पैरेंथेसिस में रखे डेटा हैं। लिस्ट्स के विपरीत, वे म्यूटेबल नहीं हैं (मतलब परिवर्तन योग्य नहीं), और वे लिस्ट्स से तेज हैं। क्योंकि वे इम्म्यूटेबल हैं, हम उन्हें डिक्शनरीज़ में कीज़ के रूप में भी उपयोग कर सकते हैं। टुपल्स का उपयोग तब भी किया जा सकता है जब हम फंक्शन से कई परिणाम रिटर्न करना चाहते हैं।
हम कन्केटनेशन का उपयोग करके टुपल में डेटा जोड़ सकते हैं।
tuple = (1, 2, 3) print(tuple) # prints (1, 2, 3) tuple = tuple + (4, 5, 6) print(tuple) # prints (1, 2, 3, 4, 5, 6)
डिक्शनरीज़
डिक्शनरीज़ डेटा स्ट्रक्चर्स हैं जो जावास्क्रिप्ट में ऑब्जेक्ट्स की तरह की-वैल्यू पेयर्स रखते हैं। लिस्ट्स की तरह, ये डेटा स्ट्रक्चर्स म्यूटेबल हैं, मतलब हम इसके डेटा को बदल सकते हैं।
की-वैल्यू पेयर का उदाहरण व्यक्ति की विशेषताएं और उन विशेषताओं का विवरण है। नाम, आयु, ऊंचाई, और वजन सभी कीज़ हो सकते हैं। जोश, 33, 5'10, 180 lbs, उन कीज़ के लिए मान हो सकते हैं।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
क्योंकि डिक्शनरीज़ म्यूटेबल हैं, हम 'Josh' को दूसरे नाम में बदल सकते हैं।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
dict['name'] = 'Patrick'
print(dict) # prints {'name': 'Patrick', 'age': 33, 'height': "5'10", 'weight': '180 lbs'}
हम नए की-वैल्यू पेयर्स बनाकर मान जोड़ सकते हैं।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
dict['location'] = 'San Francisco'
print(dict) # prints {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs', 'location': 'San Francisco'}
हम डिक्शनरी में की-वैल्यू पेयर्स को भी हटा सकते हैं del कीवर्ड, pop(), या popitem() मेथड्स का उपयोग करके। ध्यान दें कि डिक्शनरीज़ के साथ pop() को तर्क अवश्य लेना चाहिए, इसलिए हमें डिक्शनरी से अंतिम की-वैल्यू पेयर को हटाने के लिए popitem() की आवश्यकता है।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
del dict['name']
print(dict) # prints {'age': 33, 'height': "5'10", 'weight': '180 lbs'}
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
dict.pop('name')
print(dict) # prints {'age': 33, 'height': "5'10", 'weight': '180 lbs'}
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
dict.popitem()
print(dict) # prints {'name': 'Josh', 'age': 33, 'height': "5'10"}
हम डिक्शनरी के केवल कीज़ या केवल मान भी प्रिंट कर सकते हैं।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
print(dict.keys()) # prints dict_keys(['name', 'age', 'height', 'weight'])
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
print(dict.values()) # prints dict_values(['Josh', 33, "5'10", '180 lbs'])
की-वैल्यू पेयर्स के रूप में प्रिंट करने के लिए, हम items() मेथड का उपयोग कर सकते हैं।
dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' }
print(dict.items()) # prints dict_items([('name', 'Josh'), ('age', 33), ('height', "5'10"), ('weight', '180 lbs')])
सेट्स
सेट्स म्यूटेबल, अनऑर्डर्ड यूनिक एलिमेंट्स के कलेक्शन हैं, मतलब उनमें डुप्लीकेट एलिमेंट्स शामिल नहीं होते। सेट्स डिक्शनरीज़ की तरह दिखते हैं क्योंकि वे दोनों कर्ली ब्रेसेस में डेटा रखते हैं, लेकिन डिक्शनरीज़ के विपरीत, सेट्स में की-वैल्यू पेयर्स नहीं होते।
set = {1, 2, 2, 2, 3, 3, 4, 4}
print(set) # prints {1, 2, 3, 4}
हम add() मेथड का उपयोग करके सेट में एलिमेंट्स जोड़ सकते हैं।
set = {1, 2, 2, 2, 3, 3, 4, 4}
set.add(5)
print(set) # print {1, 2, 3, 4, 5}
सेट्स का उपयोग करते समय हमारे लिए चार अन्य मेथड्स उपलब्ध हैं: union(), intersection(), difference(), और symmetric_difference()।
- union(): union() मेथड दो अलग सेट्स को यूनियन करता है, दोनों की समानताओं को लेता है और इसे डुप्लीकेट्स के बिना सिंगल सेट के रूप में उत्पन्न करता है।
set = {1, 2, 2, 2, 3, 3, 4, 4}
set.add(5)
print(set) # prints {1, 2, 3, 4, 5}
anotherSet = {3, 3, 4, 4, 5, 5, 6}
print(set.union(anotherSet)) # prints {1, 2, 3, 4, 5, 6}
- intersection(): इंटरसेक्शन मेथड दोनों सेट्स में सामान्य एलिमेंट्स ढूंढता है।
set = {1, 2, 2, 2, 3, 3, 4, 4}
set.add(5)
print(set) # prints {1, 2, 3, 4, 5}
anotherSet = {3, 3, 4, 4, 5, 5, 6}
print(set.intersection(anotherSet)) # prints {3, 4, 5}
- difference(): डिफरेंस मेथड इंटरसेक्शन मेथड के विपरीत करता है जिसमें यह सभी समानताओं को निकालता है और पहले सेट से जो बचा है उसे प्रिंट करता है।
set = {1, 2, 2, 2, 3, 3, 4, 4}
set.add(5)
print(set) # prints {1, 2, 3, 4, 5}
anotherSet = {3, 3, 4, 4, 5, 5, 6}
print(set.difference(anotherSet)) # prints {1, 2}
- symmetric_difference(): symmetric_difference() मेथड डिफरेंस मेथड के समान है सिवाय इसके कि हमें आउटपुट में दोनों सेट्स का डिफरेंस मिलता है।
set = {1, 2, 2, 2, 3, 3, 4, 4}
set.add(5)
print(set) # prints {1, 2, 3, 4, 5}
anotherSet = {3, 3, 4, 4, 5, 5, 6}
print(set.symmetric_difference(anotherSet)) # prints {1, 2, 6}