iteration
enumerate()
Yields (index, item) tuples from an iterable. Preferred over manual index counters in for-loops.
enumerate(iterable, start=0) Parameters
| Parameter | Purpose |
|---|---|
| iterable | Sequence or iterator to enumerate |
| start | Starting value for the index (default 0) |
Examples
list(enumerate(['a', 'b', 'c'])) Returns [(0, 'a'), (1, 'b'), (2, 'c')]
list(enumerate(['x', 'y'], start=1)) Returns [(1, 'x'), (2, 'y')]
for i, v in enumerate('abc'): print(i, v) Prints '0 a', '1 b', '2 c'
Gotcha
Returns an enumerate object (iterator), not a list — wrap in list() to materialize or reuse.
Related built-ins
zip()
Pairs elements from multiple iterables into tuples, stopping at the shortest. With strict=True, raises ValueError if lengths differ.
range()
Returns an immutable range object representing an arithmetic sequence of integers. Memory-efficient — values are computed lazily, not stored.
map()
Applies a function to each item of one or more iterables, yielding results lazily. Returns a map object (iterator), not a list.
filter()
Yields items from iterable for which function(item) is truthy. If function is None, filters out falsy items.