Control Flow
For Loops
Iterating with for loops
Interview: Essential for iteration
Python's for loop iterates over any iterable (lists, strings, dicts, sets, generators). Unlike C-style for loops, Python's for is a foreach loop — you iterate directly over items, not indices.
Iteration Patterns
for item in iterable:— direct iterationfor i, item in enumerate(iterable):— with indexfor a, b in zip(list1, list2):— parallel iterationfor key, value in dict.items():— dictionary iterationfor i in range(n):— C-style counting
Loop Else Clause
The else block after a for loop executes only if the loop completes without a break. Useful for search patterns.
Performance Tips
- Prefer list comprehensions over for loops when building lists
- Use
itertoolsfor complex iteration patterns - Avoid
for i in range(len(lst)):— useenumerate()instead
Use Cases
Processing collections, files, and API responses
Parallel iteration with zip()
Search with early termination using break + else
Building derived collections with list comprehensions
Common Mistakes
Using range(len()) instead of enumerate()
Modifying a list while iterating over it (use list copy or list comprehension)
Not knowing about the for-else clause
Using for loops instead of list comprehensions for simple transformations