इस tutorial में हम Python Lists के बारे में बात करेंगे और सीखेंगे की कैसे हम Python programs में List create करते हैं और कैसे list methods को use करते हैं.
Python List एक container (data structure) है जिसकी हेल्प से हम एक साथ multiple values को एक sequence में store कर सकते हैं.
myList = [24, 56, 72, 34, 85]
Features of Python Lists
- Ordered: आप जिस sequence में list में data add करेंगे data उसी order में store और access होगा.
- Mutable: List changeable होती है यानी की list create करने के बाद आप उसके elements को remove, update कर सकते हो और उसमें new elements add कर सकते हो.
- Heterogenous: List में आप multiple data types के elements को store कर सकते हो.
- Dynamic: जब आप List में elements add और remove करते तो list का size automatically change हो जाता है.
- Duplicate Elements: List में आप duplicate elements store कर सकते हो.
Python List कैसे Create करते हैं?
Python में lists बनाना बहुत ही आसान होता है. आपको बस multiple elements को square brackets [ ] के बीच में comma (,) के जरिये separated करके लिखना होता है.
# blank list
myList1 = []
# list of integers
myList2 = [10, 20, 30]
# List of heterogeneous data types
myList3 = [101, "Karan Sharma", 8.9]
Python List Elements कैसे Access करते हैं?
Python list में सभी elements को एक position दी जाती है जिसे हम indexing कहते हैं और इसी indexing के जरिये हम list elements को access करते हैं.
List element को access करने के लिए 2 तरह की indexing का use होता है, पहली positive indexing जिसकी शुरुआत 0 से होती है और दूसरी negative indexing जिसकी शुरुआत -1 से होती है.
जब हमें list elements को start से लेकर end तक access करना हो तब हम positive indexing का use करते हैं और जब हमें list elements को end से start की direction में access करना हो तब हम negative indexing का use करते हैं.
अगर आप किसी ऐसे index का element का access करने की कोशिश करते हो जो list range में नहीं तब IndexError show होता है और इसके अलावा जब integer type की जगह किसी और type की value को index के तौर पर use करते हो तब TypeError show होता है.
Example:
myList = [45, 28, 15, 76, 35]
print(myList[0]) #output: 45
print(myList[2]) #output: 15
print(myList[4]) #output: 35
print(myList[8]) #output: IndexError
print(myList['k']) #output: TypeError
List Elements को Loop से access कैसे करें?
जब हम list का कोई specific element access करना चाहते हैं तब हम ऊपर बताये गये तरीके को use करते हैं लेकिन जब हमें list के सभी elements को access (iterate) करना हो तब हम loop का use करते हैं.
जैसा की हम for loop वाले tutorial में पढ़ चुके हैं की for loop की हेल्प से हम किसी भी sequences जैसे की lists, tuples, string, इत्यादि पर iterate करके उसके सभी elements को एक-एक करके access कर सकते हैं.
इसी तरह नीचें दिए गये example में जब हमनें अपनी list को for loop के साथ use किया है तो हमारी list के सभी elements एक-एक करके for loop के variable (ele) को assign होते जायेंगें और फिर उस variable को loop के अन्दर use करके list element को use कर सकते हो.
Example:
myList = [45, 28, 15, 76, 35]
for ele in myList:
print(ele, end=' ')
#Output: 45 28 15 76 35
अगर आप list elements को उनके index की हेल्प से access करना चाहते हो तो उसकी लिए आपको len() function की हेल्प लेनी होगी.
Program using for loop:
myList = [45, 28, 15, 76, 35]
for i in range(len(myList)):
print(f'Index: {i} and Element: {myList[i]}')
Explanation: ऊपर example में जब हमने range() function के अन्दर len() function का use तो पहले len() function हमारी list की length निकलेगा जो की 5 है उसके बाद जब ये length range(5) function के अन्दर use होगी तो उससे 0 से लेकर 4 तक एक range generate होगी.
उसके बाद उस range में से एक-एक करके value (0, 1, 2, 3, 4) variable i को assign होगी और फिर इस i को हमनें loop के अन्दर list के element access करने के लिए index के तौर पर use किया है.
Program using while loop:
myList = [45, 28, 15, 76, 35]
i = 0
while i<len(myList):
print(f'Index: {i} and Element: {myList[i]}')
i = i+1
Output:
Index: 0 and Element: 45
Index: 1 and Element: 28
Index: 2 and Element: 15
Index: 3 and Element: 76
Index: 4 and Element: 35
Python List को Slice कैसे करते हैं?
जैसा की हमनें ऊपर सीखा की indexing की हेल्प से हम list के किसी एक specific element को access कर सकते हैं. अब अगर हम list में एक element के बजाय list के एक portion (range/part) के elements यानी sublist को access करना चाहते हैं तब हम slicing [ : ] operator का use करते हैं.
Slicing operator syntax:
var = yourList[ start : stop : step ]
Slicing operator में start, stop और step तीनों की value बताना optional (ऐच्छिक) होता है. अगर start की value नहीं बताएँगे तो default value 0 मानी जाएगी, stop की value नहीं बताएँगे तो default value list की length (size) मानी जाएगी और step की default value 1 मानी जाती है. इसके अलावा अगर आप stop value बताते हैं तो slicing stop value से एक कम index तक होगी.
List Slicing Examples:
myList = [45, 62, 38, 52, 18, 76, 64, 28]
# elements from index 2 to last index
subList = myList[2:]
print(subList)
# elements from index 0 to index 4
print(myList[:5])
# elements from index 2 to index 6
print(myList[2:7])
# element from index 0 to last index
# with increment of 2
print(myList[::2])
Output:
[38, 52, 18, 76, 64, 28]
[45, 62, 38, 52, 18]
[38, 52, 18, 76, 64]
[45, 38, 18, 64]
Python List Methods
Python list में बहुत सारे built-in methods होते हैं जिनकी हेल्प से आप अपनी list पर अलग-अलग तरह के operations perform कर सकते हो.
नीचें दी गयी table में lists के सभी important methods का name और short description दिया गया और फिर इसके बाद सभी methods को एक-एक करके detail में use करना सिखाया गया है.
Method | Description |
---|---|
append() | एक element को list के last में add करता है. |
extend() | किसी दूसरी list के elements को list के last में add करता है. |
insert() | किसी specified position पर एक element को add करता है. |
pop() | list के last element या specified position वाले element को remove करता है. |
remove() | किसी specified element को list में से remove करता है. |
clear() | सभी elements को list में से remove कर देता है. |
copy() | list की new copy return करता है. |
count() | किसी list में specified element कितनी बार है ये return करता है. |
index() | specified element list में सबसे पहले किस index पर ये return करता है. |
reverse() | list को reverse कर देता है. |
sort() | list को ascending और descending में sort कर देता है. |
List में Elements कैसे Add करें?
Python list में different methods हैं जिनकी हेल्प से आप single और multiple elements को list में add कर सकते हो.
1. List append() method – इस method की हेल्प से आप किसी एक element को list के last में add कर सकते हो.
Syntax:
yourList.append(element)
Program:
myList = [45, 96, 37, 81]
print('Before Append:', myList)
#Add Element using append method
myList.append(52)
print('After Append:', myList)
Output:
Before Append: [45, 96, 37, 81]
After Append: [45, 96, 37, 81, 52]
2. List insert() method – इस method की हेल्प से आप किसी एक element को list में किसी valid position (index) पर insert कर देगा और उस index पर पहले मौजूद element को आगे shift कर देगा.
Syntax:
yourList.insert(position, element)
Program:
myList = [45, 96, 37, 81]
print('Before Insert:', myList)
#Insert element at index 2
myList.insert(2,52)
print('After Insert:', myList)
Output:
Before Insert: [45, 96, 37, 81]
After Insert: [45, 96, 52, 37, 81]
3. List extend() method – इस method की हेल्प से आप किसी भी iterable (list, tuple, string, dictionary, etc.) में मौजूद सभी elements को list के last में add कर सकते हो.
Syntax:
yourList.insert(iterable)
Example:
myList = [45, 96, 37, 81]
items = [10, 20, 30]
print('Before extend:', myList)
#add items list element to myList
myList.extend(items)
print('After extend:', myList)
Output:
Before extend: [45, 96, 37, 81]
After extend: [45, 96, 37, 81, 10, 20, 30]
List में Elements को Update कैसे करें?
अगर आप list में पहले से मौजूद किसी element को बदलना (change) करना चाहते हो तो आप उसके index और assignment operator (=) की हेल्प से change कर सकते हो.
Program:
myList = [45, 96, 37, 81]
print('Before update:', myList)
# changing index 2 element
myList[2] = 56
print('After Update:', myList)
Output:
Before update: [45, 96, 37, 81]
After Update: [45, 96, 56, 81]
इसी तरह अगर आप list में एक साथ multiple elements update करना चाहते हो तो उसके लिए आप slicing operator [:] का use कर सकते हो.
Program:
myList = [45, 96, 37, 81, 25, 52]
print('Before update:', myList)
# changing element from index 1 to 3
myList[1:4] = [56, 74, 35]
print('After Update:', myList)
Output:
Before update: [45, 96, 37, 81, 25, 52]
After Update: [45, 56, 74, 35, 25, 52]
List से Elements कैसे Remove करें?
Python list में different methods मौजूद हैं जिनकी हेल्प से आप single और multiple elements को list में से remove कर सकते हो.
1. List pop() method – इस method को जब आप call करते हैं तब एक valid index argument के तौर पर pass करते हैं और ये method उस index पर मौजूद element को list में से remove करके return करता है जिसे आप किसी variable में store कर सकते हो.
अगर आप इस method को call करते वक्त ऐसा index pass करते जो valid नहीं तब IndexError आएगा.
अगर आप इस method को call करते वक्त index pass नहीं करते हैं तो ये method list के last element को remove करके return करता है.
Syntax:
yourList.pop( index )
yourList.pop( )
Program:
myList = [45, 96, 37, 81, 25, 52]
print('List Before Remove:', myList)
# remove and return element at index 2
ele = myList.pop(2)
print('Removed Element:',ele)
print('List After Remove:', myList)
#remove and return the last item
ele = myList.pop()
print('Removed Element:',ele)
print('List After Remove:', myList)
Output:
List Before Remove: [45, 96, 37, 81, 25, 52]
Removed Element: 37
List After Remove: [45, 96, 81, 25, 52]
Removed Element: 52
List After Remove: [45, 96, 81, 25]
2. List remove() method – इस method को जब आप call करते हैं तब एक element को argument के तौर पर pass करते हैं और ये method उस element को list में remove कर देगा.
अगर pass किया हुआ element list में एक से ज्यादा मौजूद हैं तब ये method list में सबसे पहले मौजूद single element को remove करता है.
इसके अलावा अगर आप जो element list में से remove करना चाहते हो वो list में मौजूद नहीं है तब ValueError show होता है.
Syntax:
yourList.remove( element )
Program:
myList = [45, 25, 37, 81, 25, 52]
print('Before Remove:', myList)
#removes the first occurrence of 25 from the list
myList.remove(25)
print('After Remove:', myList)
Output:
Before Remove: [45, 25, 37, 81, 25, 52]
After Remove: [45, 37, 81, 25, 52]
3. List clear() method – इस method की हेल्प से आप list में मौजूद सभी elements को remove कर दिया जाता है और list empty हो जाती है.
Syntax:
yourList.clear()
Program:
myList = [45, 37, 81, 25, 52]
print('Before Clear:', myList)
myList.clear()
print('After Clear:', myList)
Output:
Before Clear: [45, 37, 81, 25, 52]
After Clear: []
List में Element कैसे Count करें?
अगर हमें ये पता करना है की कोई specific element हमारी list में कितनी बार मौजूद हैं तो उसके लिए हम count() method को use करते हैं.
Syntax:
yourList.count( element )
Program:
myList = [25,85,25,34,75,25]
c = myList.count(25)
print('Number of Times:', c)
Output:
Number of Times: 3
List को कैसे Copy करें?
जब हमें किसी variable की value को किसी दुसरे variable में copy करना होता है तब हम assignment operator ( = ) का use करके ये काम बड़ी आसानी से कर लेते हैं.
लेकिन अगर आप assignment operator की हेल्प से किसी एक list को दुसरे list variable को assign करके copy करना चाहते हो तब वो list copy नहीं होती बल्कि वो list variable जिसे आपने अपनी list assign की है वो variable भी original list के दुसरे name के तौर पर use होता है.
इसका मतलब ये हुआ की आप list की पुराने या न्यू variable का use करके list में कोई changes करते हो तो वो एक ही list में changes होंगे क्योंकि की कोई दूसरी list बनी ही नहीं.
Program:
myList = [25, 85, 42, 34, 75]
newList = myList
print('Before Changes:-')
print('My List:', myList)
print('New List:', newList)
myList.pop()
print('After Changes:-')
print('My List:', myList)
print('New List:', newList)
Output:
Before Changes:-
My List: [25, 85, 42, 34, 75]
New List: [25, 85, 42, 34, 75]
After Changes:-
My List: [25, 85, 42, 34]
New List: [25, 85, 42, 34]
Explanation:
ऊपर program में जब हमनें myList में से element को remove किया तो उसका effect आपने newList के print में भी देखा क्योंकि program में list एक ही लेकिन उसके 2 name assign कर दिए गये हैं.
List copy() method
इस method की हेल्प से आप किसी list की एक new duplicate list बनाकर किसी variable में copy कर सकते हो.
Syntax:
newListVar = yourList.copy()
Program:
myList = [25, 85, 42, 34, 75]
newList = myList.copy()
print('Before Changes:-')
print('My List:', myList)
print('New List:', newList)
myList.pop()
print('After Changes:-')
print('My List:', myList)
print('New List:', newList)
Output:
Before Changes:-
My List: [25, 85, 42, 34, 75]
New List: [25, 85, 42, 34, 75]
After Changes:-
My List: [25, 85, 42, 34]
New List: [25, 85, 42, 34, 75]
List में Element कैसे Search करें?
अगर आप सिर्फ ये जानना चाहते हो की कोई एक element list में मौजूद है या नहीं तो उसके लिए आप membership operator (in) का use कर सकते हो और अगर आप element की list में position find करना चाहते हो तो index() method का use कर सकते हो.
index() method को call करते वक्त आप जो element argument के तौर पर pass करोगे वो element list में सबसे पहले जिस index (position) पर होगा ये method उस index को return कर देगा और अगर वो element list में मौजूद नहीं होगा वो ValueError show होगा.
Syntax:
position = yourList.index(element)
Program:
myList = [25, 85, 42, 34, 75]
k = 42
#if k present in myList return True
print(k in myList)
#Find the index of the first occurrence
print(myList.index(k))
Output:
True
2
List को Reverse कैसे करें?
List को reverse करने के लिए हम reverse() method का use करते हैं. जिस भी list के जरिये आप इस method को call करेंगे ये method को internally reverse कर देगा.
Syntax:
yourList.reverse()
Program:
myList = [25, 85, 42, 34, 75]
print('Before Reverse:', myList)
myList.reverse()
print('After Reverse:', myList)
Output:
Before Reverse: [25, 85, 42, 34, 75]
After Reverse: [75, 34, 42, 85, 25]
Reverse List using Slicing Operator
अगर हम अपनी existing list को internally reverse ना करके किसी दुसरे variable में एक new reverse list store करना चाहते हो तब हम slicing operator का use करते हैं.
Syntax:
newList = yourList[::-1]
Program:
myList = [25, 85, 42, 34, 75]
newList = myList[::-1]
print('myList:', myList)
print('newList:', newList)
Output:
myList: [25, 85, 42, 34, 75]
newList: [75, 34, 42, 85, 25]
List को Sort कैसे करें?
अगर हम list को ascending या descending order में arrange (sort) करना चाहते हैं तो उसके लिए हम list का sort() method use करते हैं.
किसी भी list को sort करने से पहले ये जरुरी है की list के सभी elements same data type के हो अगर list elements different data types के हुए sort() method TypeError show करेगा.
Syntax:
# for ascending order
yourList.sort()
# for descending order
yourList.sort( reverse=True )
अगर आप list को ascending order में arrange करना चाहते हो आपको sort() method में कुछ भी pass नहीं करना है और अगर आप list को descending order में sort करना चाहते हो तो उसके लिए आपको sort() method में reverse=True लिखना होगा.
Program:
myList = [35, 85, 42, 14, 75]
print('Before Sorting:', myList)
myList.sort()
print('Ascending Order:', myList)
myList.sort(reverse=True)
print('Descending Order:', myList)
Output:
Before Sorting: [35, 85, 42, 14, 75]
Ascending Order: [14, 35, 42, 75, 85]
Descending Order: [85, 75, 42, 35, 14]