1.2.11 · HinglishIntroduction to Programming (Python)
String indexing and slicing — `s[0]`, `s[-1]`, `s[2 - 5]`, `s[ - 2]`
1.2.11· Coding › Introduction to Programming (Python)
WHY does this exist?
WHAT are the rules?
![[1.2.11-String-indexing-and-slicing-—-s[0],-s[-1],-s[2-5],-s[-2].png]]
HOW to read each form (the 80/20 core)
Common Mistakes (Steel-manned)
Recall Feynman: explain to a 12-year-old
Ek train imagine karo jisme cars ek line mein hain. Har car par ek number painted hai: aage wali car 0 hai, phir 1, 2, 3… Piche se bhi count kar sakte ho: bilkul last car -1 hai, usse pehli -2. Indexing = "jao car number 3 le aao." Slicing = "mujhe cars 2 se 4 tak do" — lekin rule yeh hai ki jo last number bola uss se just pehle ruk jaate ho, jaise ek fence post. Aur step se bol sakte ho "har doosri car lo." Agar negative step bolo, toh train mein ulta chalte ho. Kisi bhi car ko dekh sakte ho, lekin repaint nahi kar sakte — train (string) frozen hai.
Flashcards
Kisi bhi non-empty string ke liye s[0] kya return karta hai?
Pehla character (index 0).
s = "PYTHON" ke liye s[-1] kya hai?
'N' — last character (= s[len(s)-1]).s[start:stop] mein kya stop include hota hai?
Nahi — slicing half-open
[start, stop) hoti hai; stop excluded hota hai.s[2:5] (step 1) kitne characters return karta hai?
3 characters (5 − 2), indices 2, 3, 4 par.
s[::2] kya karta hai?
Poori string ka har 2nd character leta hai (start 0, step 2).
s[::-1] kya karta hai?
String ko reverse karta hai (negative step backwards chalta hai).
"PYTHON" ke liye s[-2] kya hai?
'O' — end se doosra, s[4] ke barabar.Ek short string par s[99] kaunsa error raise karta hai?
IndexError (index out of range)."PYTHON" (len 6) ke liye s[6:99] kya return karta hai?
'' — slicing out of range kabhi error nahi deta, empty string return karta hai.s[0] = 'X' kyun nahi kar sakte?
Strings immutable hain →
TypeError; iske bajay nayi string banao.s[i] ka negative-index equivalent kya hai?
s[i - len(s)].Slicing mein start, stop, step ki default values kya hain (forward)?
start=0, stop=len(s), step=1.
Connections
- Lists indexing and slicing — same
[start:stop:step]rules apply (lists are also sequences). - String immutability — isliye index se read kar sakte ho lekin assign nahi.
- For loops over strings — slicing aksar manual index loop ko replace kar deti hai.
- String methods (split, join, replace) — text processing ke liye slicing ke saath combine karo.
- range() function — same half-open
[start, stop)convention share karta hai. - len() built-in — valid indices aur negative indexing ke baare mein sochne ke liye zaroori hai.