list बनाना
list [ ] में, कॉमा से अलग किए आइटमों का क्रमबद्ध संग्रह है।
marks = [72, 85, 90]
mix = ["Ravi", 16, 7.5, True] # अलग प्रकार भी चलेंगे
empty = []
nested = [1, [2, 3]] # list के अंदर list
L = list("abc") # ["a", "b", "c"]
nums = list(range(1, 6)) # [1, 2, 3, 4, 5]इनपुट से भी बना सकते हैं: L = eval(input()) या लूप में append करके।
इंडेक्सिंग और स्लाइसिंग
हर आइटम का इंडेक्स होता है: बाएँ से 0, 1, 2… और दाएँ से −1, −2…।
L[i] एक आइटम देता है। गलत इंडेक्स पर IndexError।
स्लाइसिंग L[start:stop:step] start से stop − 1 तक नई list देती है। L[:2] = पहले दो, L[2:] = इंडेक्स 2 से आगे, L[::-1] = उलटी कॉपी।
list ट्रैवर्स करना
हर आइटम पर एक बार जाना ट्रैवर्सल कहलाता है।
for x in L: # आइटम से
print(x)
for i in range(len(L)): # इंडेक्स से
print(i, L[i])जब स्थान चाहिए या आइटम बदलने हों, तब इंडेक्स वाला तरीका।
list बदलना और list ऑपरेटर
list परिवर्तनशील है: L[2] = 35 आइटम बदलता है; L[0:2] = [1, 1] टुकड़ा बदलता है; del L[1] आइटम हटाता है।
+जोड़ता है:[1, 2] + [3]→ [1, 2, 3]*दोहराता है:[0] * 3→ [0, 0, 0]in/not inसदस्यता जाँचते हैं==,<आइटम-दर-आइटम तुलना
list के लिए बिल्ट-इन फ़ंक्शन
len(L): आइटमों की संख्याmax(L),min(L): सबसे बड़ा, सबसे छोटाsum(L): संख्याओं का योगsorted(L): नई क्रमबद्ध list लौटाता है, L नहीं बदलतीlist(x): स्ट्रिंग, tuple या range से list बनाता है
list मेथड
append(x): अंत में एक आइटमextend(list2): दूसरी list का हर आइटम अंत मेंinsert(i, x): x को इंडेक्स i पर रखोremove(x): पहला x हटाओ (न मिले तो ValueError)pop(i): i वाला आइटम हटाकर लौटाओ (बिना i के आख़िरी)clear(): list ख़ाली करोindex(x): पहले x का स्थानcount(x): x कितनी बार हैsort(): वहीं क्रम में लगाओ (reverse=Trueसे घटते क्रम में)reverse(): वहीं उलटोcopy(): नई कॉपी
ज़्यादातर मेथड list बदलते हैं और None लौटाते हैं। इसलिए L = L.sort() से L, None बन जाती है!
करके देखें: कक्षा के अंकों की list
5 दोस्तों के अंक एक list में लिखें। पायथन में: सबसे ज़्यादा, सबसे कम और औसत (sum(L)/len(L)) छापें। एक नए दोस्त के अंक append करें, list sort करें, फिर L.pop(0) से सबसे कम हटाएँ। हर परिणाम का पहले अनुमान लगाएँ, फिर 3D के कदम 6 से जाँचें।
मुख्य सूत्र और परिभाषाएँ
- L[i], L[-i]; स्लाइस L[start:stop:step] (stop शामिल नहीं)
- len, max, min, sum, sorted, list
- append, extend, insert, remove, pop, clear, index, count, sort, reverse, copy
- औसत = sum(L) / len(L)
हल किए गए उदाहरण
1. L = [5, 8, 2, 9]। L[1], L[-1] और L[1:3] बताइए।
L[1] = 8, L[-1] = 9, L[1:3] = [8, 2]।
2. L = [1, 2]। L.append([3, 4]) और L.extend([3, 4]) की तुलना करें।
append पूरी list को एक आइटम की तरह जोड़ता है: [1, 2, [3, 4]] (लंबाई 3)। extend हर आइटम अलग जोड़ता है: [1, 2, 3, 4] (लंबाई 4)।
3. L = [3, 1, 4, 1, 5]। L.count(1), L.index(4) और sorted(L) निकालें।
count(1) = 2, index(4) = 2, sorted(L) = [1, 1, 3, 4, 5] (L ख़ुद नहीं बदली)।
4. अंकों [72, 85, 90, 65] का औसत निकालने का प्रोग्राम लिखें।
L = [72, 85, 90, 65] print(sum(L) / len(L)) → 312 / 4 = 78.0
5. L = [4, 7, 10, 3, 8] में कितनी सम संख्याएँ हैं?
c = 0 for x in L: if x % 2 == 0: c += 1 print(c) → 3 (4, 10, 8)।
6. L = [10, 20, 30, 40]। L.pop(1); L.insert(0, 5); L.remove(40) के बाद L क्या होगी?
pop(1) से 20 हटा → [10, 30, 40]; insert(0, 5) → [5, 10, 30, 40]; remove(40) → [5, 10, 30]।
आम गलतियाँ
- पहला इंडेक्स 1 समझना। यह 0 है।
- L = L.sort() लिखना; sort() None लौटाता है।
- pop (स्थान से) और remove (मान से) मिलाना।
- कई आइटम जोड़ने के लिए append लगाना; extend लगाएँ।