1.2.18 · HinglishIntroduction to Programming (Python)

for loop — iterating over sequences

1,651 words8 min readRead in English

1.2.18 · Coding › Introduction to Programming (Python)


WHAT exactly ho raha hai

for item in sequence:
    # body: har item ke liye ek baar chalta hai
    print(item)

HOW loop chalta hai — scratch se derive karo

Ek for loop magic nahi hai; yeh ek while loop ke liye sugar hai. Chaliye khud banate hain taaki mechanism undeniable ho jaye.

for x in seq:
    body(x)

yeh exactly equivalent hai:

_it = iter(seq)          # 1. ek iterator lo (ek cursor position 0 par)
while True:              # 2. hamesha loop karo...
    try:
        x = next(_it)    # 3. next item lo, cursor aage badhao
    except StopIteration:
        break            # 4. ...jab tak sequence khaali na ho jaye -> ruko
    body(x)              # 5. current item ke saath body chalao
Figure — for loop — iterating over sequences

Worked examples


Common mistakes (Steel-manned)


Recall Feynman: ek 12-saal ke bachche ko samjhao

Socho ek lunchbox snacks se bhara hua hai. Ek for loop aise hai jaise ek bachcha ek snack at a time nikalta hai, uske saath kuch karta hai (khaata hai, naam leta hai), phir agla uthane ke liye haath dalata hai — jab tak box khaali na ho jaye. Bachche ko pehle se nahi pata kitne snacks hain; woh bas tabse karta rehta hai jab tak kuch bache na ho. Yahi "agla uthao jab tak khaali na ho" exactly next() + StopIteration hai.


Flashcards

Ek for loop kya iterate karta hai?
Ek iterable — list, str, tuple, range, dict, etc. — har pass mein ek item yield karta hai.
Ek for loop kin do functions ke liye sugar hai?
iter() (ek baar, iterator paane ke liye) phir baar baar next() jab tak StopIteration na aaye.
for loop ke internally khatam hone ka signal kya hai?
Iterator ka StopIteration raise karna, jise loop break ki tarah pakad leta hai.
range(2, 8) kya produce karta hai?
2, 3, 4, 5, 6, 7 — start included, stop excluded (half-open).
Loop karte waqt index aur value dono kaise paate ho?
for i, v in enumerate(seq):
zip(a, b) kahan rukta hai?
Shorter sequence ke khatam hone par.
List iterate karte waqt usse modify karna dangerous kyun hai?
Iterator ek position index track karta hai; remove/insert karne se items shift ho jaate hain isliye cursor elements skip ya repeat kar deta hai.
for k in d: se dict iterate karne par kya milta hai?
Keys (warna .values() / .items() use karo).
for i in range(3): pass ke baad i kya hai?
2 — loop variable leak ho jaata hai aur apni last value rakhta hai.
List ko "looping" karte waqt filter karne ka safe tarika kya hai?
Nayi list banao, jaise comprehension [x for x in xs if cond], ya copy par iterate karo xs[:].

Connections

  • while loop — condition-based repetitionfor while + iter/next se bana hai.
  • range function — counting loops ke liye standard numeric iterable.
  • Lists and indexing — sabse common sequence jise tum iterate karte ho.
  • Strings as sequences — kyun string loop karne par characters milte hain.
  • Dictionaries — keys, values, itemsfor dict se kya yield karta hai.
  • List comprehensions — ek compact loop jo nayi list banata hai.
  • enumerate and zip — indices/sequences ko cleanly pair karna.
  • Iterators and generators — woh deeper protocol jo har for ko power deta hai.

Concept Map

iterates over

examples

binds current item to

each pass is

desugars to

step 1 calls

produces

remembers position

step 3 calls

when exhausted raises

triggers

preferred over

for loop

iterable

list str tuple range dict

loop variable

iteration

while loop equivalent

iter(seq)

iterator

cursor moves forward

next(...)

StopIteration

break, loop ends cleanly

manual index counting