ReviseAlgo Logo

Control Flow

For Loops

Iterating with for loops

Interview: Essential for iteration

Last Updated: June 12, 2026 7 min read

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 iteration
  • for i, item in enumerate(iterable): — with index
  • for a, b in zip(list1, list2): — parallel iteration
  • for key, value in dict.items(): — dictionary iteration
  • for 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 itertools for complex iteration patterns
  • Avoid for i in range(len(lst)): — use enumerate() 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