WHY does a list exist? Single variables ek value hold karte hain. Jis moment aapke paas bahut saari related values ho jaati hain (30 students ke scores, ek row mein pixels), tab aapko ek aisa container chahiye jo unhe order mein rakhe aur kisi ek ko position se grab karne de. Yahi exactly ek list hai.
Square brackets [] comma-separated items ke saath.
Indexing 0 se kyun start hoti hai?
Ek index ek offset (start se distance) hai; pehla item 0 steps door hai.
Length n ke liye a[-k] ko positive index mein convert karo.
a[n-k] (toh a[-1]=a[n-1]).
a[start:stop:step] kya include karta hai?
start se lekar lekin stop ko include NAHI karta, step se stepping karta hai; ek NEW list return karta hai.
Slice a[start:stop] ki length?
stop - start (jab dono range mein ho).
a[::-1] kya karta hai aur kyun?
List ko reverse karta hai; step -1 end se start tak walk karta hai.
Kya out-of-range slice error raise karta hai?
Nahi — slices valid range mein clamp ho jaate hain; sirf single-index access IndexError raise karta hai.
Lists ke mutable hone ka matlab kya hai?
Unki contents naya object banaye bina in place change ho sakti hain (jaise a[0]=9, a.append()).
b = a; b[0]=9 ke baad, a[0] kya hai?
9 — b aur a SAME list ke do naam hain.
List a ki independent copy kaise banate ho?
a[:], a.copy(), ya list(a) (shallow copy).
a.append(x) kya return karta hai?
None (yeh in place mutate karta hai); kabhi a = a.append(x) mat likho.
a.append(x) aur a = a + [x] mein kya fark hai?
append existing list edit karta hai; + ek brand-new list banata hai aur naam ko rebind karta hai.
Recall Feynman: 12-saal ke bachche ko explain karo
Ek list ek hallway mein numbered lockers ki row hai. Pehla locker number 0 hai (yeh "0 steps in" hai). Aap koi bhi locker uske number se khol sakte ho aur andar naya kuch rakh sakte ho — yahi "mutable" hai, lockers rahte hain lekin unka saman badal sakta hai. Ek slice aisa hai jaise kehna "mujhe lockers 2 se lekar lekin 5 include kiye bina do" — aap un cheezon ki copies ek chote bag mein paate ho. Aur agar aap apne dost ko usi hallway ka map de do (b = a), jab woh kisi locker ka saman badlein, aapke lockers bhi change ho jaate hain, kyunki woh same hallway thi. Apni private hallway lene ke liye, aap a[:] se sab kuch photocopy karo.