Lists: Operations और Methods
List क्या है?
List square brackets [ ] में commas से अलग किए items का ordered, mutable collection है। Items किसी भी type के हो सकते हैं, दूसरी lists भी। List को नंबर वाले lockers की row समझिए: हर locker का index है और अंदर रखी चीज़ बदल सकते हैं।
Lists बनाना
marks = [78, 92, 65, 88]
mixed = ['Riya', 16, 5.4, True]
empty = []
from_range = list(range(1, 6))
from_text = list('hey')
print(marks, mixed, empty)
print(from_range, from_text)Indexing, slicing और items बदलना
Indexing और slicing बिल्कुल strings जैसे हैं। बड़ा फ़र्क: lists mutable हैं, इसलिए index पर assign करके item बदल सकते हैं।
L = [10, 20, 30, 40, 50] print(L[0], L[-1], L[1:4], L[::-1], len(L)) L[2] = 35 # lists are mutable print(L)
List operations
L = [10, 20, 35, 40, 50] print([1, 2] + [3, 4]) # concatenation print([0] * 5) # repetition print(30 in L, 35 in L) # membership
List traverse करना
marks = [56, 78, 91, 45, 83]
for m in marks: # by value
print(m, end=' ')
print()
for i in range(len(marks)): # by index – needed to change items
marks[i] = marks[i] + 2 # grace marks
print(marks)for m in marks में loop variable m बदलने से list नहीं बदलती। Items बदलने हों तो range(len(marks)) से indexes पर loop चलाएँ।
List methods
m = [45, 12, 78, 34] m.append(90); print(m) # add at end m.insert(1, 60); print(m) # add at position 1 m.extend([5, 8]); print(m) # add many items print(m.pop(), m) # remove last, return it print(m.pop(0), m) # remove at index 0 m.remove(78); print(m) # remove first 78 print(m.index(34), m.count(12))
L = [1, 2] L.remove(5)
| Method | काम | Return |
|---|---|---|
| append(x) | x को अंत में जोड़ो | None |
| insert(i, x) | x को index i पर जोड़ो | None |
| extend(seq) | seq का हर item जोड़ो | None |
| pop(i) | i पर item हटाओ (default आख़िरी) | हटाया item |
| remove(x) | पहला x हटाओ | None (न हो तो ValueError) |
| index(x) | पहले x की position | int |
| count(x) | x कितनी बार | int |
| sort(), sort(reverse=True) | उसी जगह sort | None |
| reverse() | उसी जगह उल्टा | None |
| clear() | सारे items हटाओ | None |
Built-in functions और sort vs sorted
m = [60, 12, 34, 90, 5] m.sort(); print(m) m.sort(reverse=True); print(m) m.reverse(); print(m) print(len(m), max(m), min(m), sum(m)) n = [3, 1, 2] print(sorted(n), n) # sorted() gives a NEW list print(n.sort()) # sort() changes n and returns None del n[0]; print(n)
List को input लेना
n = int(input('How many numbers? '))
nums = []
for i in range(n):
nums.append(int(input('Enter number: ')))
print('List:', nums)
print('Sum =', sum(nums), '| Average =', sum(nums) / n)
print('Largest =', max(nums), '| Smallest =', min(nums))User spaces से अलग numbers type करे तो short cut: nums = [int(x) for x in input().split()]।
List comprehension
List comprehension एक line में नई list बनाता है: [expression for item in sequence if condition]।
nums = [12, 7, 30, 15, 8, 21, 4]
even = [x for x in nums if x % 2 == 0]
odd = [x for x in nums if x % 2 != 0]
squares = [x * x for x in range(1, 6)]
print('Even:', even, '| Odd:', odd)
print('Squares:', squares)सारांश और practice
- List = ordered, mutable,
[ ]में; किसी भी type के items। - Indexing/slicing strings जैसे;
L[i] = xitem बदलता है। - जोड़ना: append, insert, extend। हटाना: pop, remove, del, clear।
sort()उसी जगह vssorted()नई list।
Output बताइए: L = [5, 3, 8]; L.append([1, 2]); print(len(L)) → ? L = [5, 3, 8]; L.extend('ab'); print(L) → ? Program लिखें जो गिने कि list के कितने numbers average से बड़े हैं।
Answers: 4; [5, 3, 8, 'a', 'b']
