📘 CodingMarble Learn

Python में लिस्ट

लिस्ट किसी भी प्रकार के मानों का क्रमबद्ध, म्यूटेबल अनुक्रम है, जो वर्ग कोष्ठक में लिखा जाता है: [4, 'a', 2.5]। आइटम इंडेक्स से मिलते हैं (बाएँ से 0, दाएँ से −1) और उसी जगह बदले जा सकते हैं। संक्रियाएँ: + (जोड़ना), * (दोहराना), in / not in (सदस्यता) और स्लाइसिंग। ट्रैवर्सल for या while से। फ़ंक्शन और मेथड: len(), list(), append(), extend(), insert(), count(), index(), remove(), pop(), reverse(), sort(), sorted(), min(), max(), sum()। नेस्टेड लिस्ट में लिस्ट के अंदर लिस्ट होती है, तालिका जैसी (M[पंक्ति][स्तंभ])। मानक प्रोग्राम: अधिकतम, न्यूनतम, औसत, रैखिक खोज और बारंबारता।

🎬 कदम-दर-कदम कहानी

  1. लिस्ट कई मान क्रम से वर्ग कोष्ठक में रखती है। हर मान का इंडेक्स 0 से।
  2. लिस्ट को + से जोड़, * से दोहरा, 'in' से जाँच और स्लाइस कर सकते हैं।
  3. लिस्ट मेथड लिस्ट बदलते हैं: append अंत में जोड़ता, insert किसी स्थान पर, remove और pop निकालते, sort क्रम में लगाता है।
  4. नेस्टेड लिस्ट लिस्ट के अंदर लिस्ट है, तालिका जैसी। M[1][2] = पंक्ति 1, स्तंभ 2।
  5. हम सबसे बड़ा, सबसे छोटा और औसत निकाल सकते हैं। रैखिक खोज हर आइटम जाँचती है जब तक key न मिले।
  6. आपकी बारी: संख्याएँ और key लिखिए, और खोज देखिए।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

स्ट्रिंग इम्यूटेबल है, तो लिस्ट क्यों बदलती है?

लिस्ट अपने आइटमों के संदर्भ रखती है और Python उन खानों को बदलने देता है। L[1] का रंग बिना नई लिस्ट बने बदलता देखें।

क्या L[1:3] नई लिस्ट है?

हाँ। स्लाइस हमेशा नई लिस्ट बनाती है; उसे बदलने से L नहीं बदलती।

remove और pop में क्या अंतर है?

remove(7) मान 7 ढूँढता है; pop(1) इंडेक्स 1 वाला आइटम निकालकर आपको लौटाता है।

नेस्टेड लिस्ट का एक खाना कैसे लें?

दो इंडेक्स: पहले पंक्ति, फिर स्तंभ। M[1][2] पंक्ति 1 का आइटम 2।

रैखिक खोज कब रुकती है?

key मिलते ही (break), या key न हो तो आख़िरी आइटम के बाद।

लिस्ट बनाना और इंडेक्सिंग

L = [4, 7, 2, 5], E = [], M = [1, 'two', 3.0, [4, 5]], list('abc') → ['a', 'b', 'c']।

इंडेक्सिंग: L[0] = 4, L[-1] = 5। लिस्ट म्यूटेबल है: L[1] = 9 → [4, 9, 2, 5]। बाहर का इंडेक्स IndexError देता है।

लिस्ट संक्रियाएँ

लिस्ट का ट्रैवर्सल

for x in L:
    print(x)

for i in range(len(L)):
    L[i] = L[i] * 2     # इंडेक्स से बदलना

i = 0
while i < len(L):
    print(L[i]); i += 1

लिस्ट फ़ंक्शन और मेथड

मेथडकाम (L = [4, 7, 2])
len(L)3
L.append(6)अंत में एक आइटम → [4, 7, 2, 6]
L.extend([8, 9])दूसरी लिस्ट का हर आइटम जोड़ता है
L.insert(1, 5)इंडेक्स 1 पर 5
L.count(7)7 कितनी बार
L.index(7)7 का पहला इंडेक्स (न मिले तो ValueError)
L.remove(7)पहला 7 हटाता है
L.pop(i) / L.pop()i वाला / आख़िरी आइटम हटाकर लौटाता है
L.reverse()उसी जगह उलटता है
L.sort(), L.sort(reverse=True)उसी जगह क्रम में
sorted(L)नई क्रमबद्ध लिस्ट
min(L), max(L), sum(L)2, 7, 13

del L[0] इंडेक्स से हटाता है; L.clear() लिस्ट खाली करता है।

नेस्टेड लिस्ट

लिस्ट में दूसरी लिस्ट हो सकती है: M = [[1, 2, 3], [4, 5, 6]]। M[1] = [4, 5, 6]; M[1][2] = 6। नेस्टेड लूप से ट्रैवर्सल:

for row in M:
    for x in row:
        print(x, end=' ')
    print()

प्रोग्राम: max, min, mean, रैखिक खोज, बारंबारता

L = [4, 7, 2, 9, 5]
big = L[0]; small = L[0]
for x in L:
    if x > big: big = x
    if x < small: small = x
mean = sum(L) / len(L)        # 5.4

# रैखिक खोज
key = 9; pos = -1
for i in range(len(L)):
    if L[i] == key:
        pos = i; break
print(pos)                    # 3

# हर तत्व की बारंबारता
for x in set(L):
    print(x, L.count(x))

रैखिक खोज एक-एक आइटम जाँचती है; सबसे बुरी स्थिति में हर आइटम देखती है।

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. L = [10, 20, 30, 40]। L[1:3], L[-1], L * 2, 25 in L निकालें।

[20, 30]; 40; [10, 20, 30, 40, 10, 20, 30, 40]; False।

2. आउटपुट? L = [3, 1, 2]; L.append([4, 5]); print(len(L))

4, क्योंकि append पूरी लिस्ट को एक आइटम जोड़ता है: [3, 1, 2, [4, 5]]।

3. आउटपुट? L = [3, 1, 2]; L.extend([4, 5]); L.insert(0, 9); L.remove(1); print(L)

[9, 3, 2, 4, 5]

4. max/min के बिना [12, 5, 8, 20, 15] का max, min, mean।

big = small = 12; सब जाँचने पर big = 20, small = 5; mean = 60 / 5 = 12.0।

5. [12, 5, 8, 20, 15] में 15 की रैखिक खोज। कितनी तुलनाएँ?

12, 5, 8, 20, 15 → इंडेक्स 4 पर 5 तुलनाओं के बाद मिला।

6. [1, 2, 3, 4, 5, 6] में सम स्थान के तत्व को अगले से बदलें।

for i in range(0, len(L) - 1, 2): L[i], L[i+1] = L[i+1], L[i] # [2, 1, 4, 3, 6, 5]

7. [2, 3, 2, 5, 3, 2] में हर तत्व की बारंबारता।

लूप और count() से: 2 → 3, 3 → 2, 5 → 1।

आम गलतियाँ

अभ्यास क्विज़

1. अंत में एक आइटम कौन जोड़ता है?
2. L = [5, 6, 7]; L.pop() लौटाता है:
3. M = [[1, 2], [3, 4]]; M[1][0] है:
4. लिस्ट है:
5. sorted(L) क्या करता है?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

append() और extend() में क्या अंतर है?

append() तर्क को एक आइटम जोड़ता है; extend() दी गई लिस्ट का हर आइटम अलग जोड़ता है।

नेस्टेड लिस्ट क्या है?

ऐसी लिस्ट जिसके आइटम दूसरी लिस्टें हों, जैसे [[1, 2], [3, 4]]; आइटम दो इंडेक्स से मिलते हैं।

रैखिक खोज कैसे काम करती है?

key को शुरू से हर आइटम से मिलाती है जब तक मेल न मिले या लिस्ट ख़त्म न हो।

यह कहाँ पढ़ाया जाता है

कनाडा (ओंटारियो)Grade 12A. Programming Concepts and Skills
सीबीएसई (भारत)कक्षा 11संगणनात्मक चिंतन और प्रोग्रामिंग - 1
सीबीएसई (भारत)कक्षा 11पायथन का परिचय

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ