Python 3.12 ·
✓ verified by execution on 2026-07-23
When looping through a sequence, the position index and corresponding value can be retrieved at the same time using the enumerate() function.
python
for i, v in enumerate(['tic', 'tac', 'toe']): print(i, v)
Output
0 tic
1 tac
2 toe
Your output
Using Enumerate with a Start Index
python
for i, v in enumerate(['first', 'second'], start=1): print(f'Place {i}: {v}')
Output
Place 1: first
Place 2: second
Your output
The Zip Function
To loop over two or more sequences at the same time, the entries can be paired with the zip() function.
python
questions = ['name', 'color']answers = ['lancelot', 'blue']for q, a in zip(questions, answers): print(q, a)
Output
name lancelot
color blue
Your output
Zip with Unequal Lengths
zip() stops when the shortest iterable is exhausted.
python
a = [1, 2, 3]b = ['w', 'x']for num, letter in zip(a, b): print(num, letter)
Output
1 w
2 x
Your output
The Accumulator Pattern
It is sometimes tempting to change a list while you are looping over it; however, it is often simpler and safer to create a new list instead.
python
raw_data = [56.2, 51.7, 55.3, 52.5, 47.8]filtered_data = []for value in raw_data: if value > 50: filtered_data.append(value)print(filtered_data)
Output
[56.2, 51.7, 55.3, 52.5]
Your output
Nested Loops
Python’s for statement iterates over the items of any sequence
python · visualize
for i in range(1, 3): for j in ['a', 'b']: print(f'{i}{j}')
Check yourself
You need to keep track of an index variable manually (e.g., i = 0) to know where you are in a list.
Reveal answer
Python provides enumerate() specifically to handle indices cleanly and pythonically. — Python provides enumerate() specifically to handle indices cleanly and pythonically.
zip() will crash if the lists are different lengths.
Reveal answer
zip() silently truncates to the shortest list (unless you use itertools.zip_longest or strict=True in 3.10+). — zip() silently truncates to the shortest list (unless you use itertools.zip_longest or strict=True in 3.10+).
Removing items from a list while iterating over it is safe.
Reveal answer
Modifying a list while iterating over it shifts elements and skips items. It is safer to build a new list. — Modifying a list while iterating over it shifts elements and skips items. It is safer to build a new list.
In a nested loop, the inner loop continues from where it left off.
Reveal answer
The inner loop restarts completely from its first element for every single iteration of the outer loop. — The inner loop restarts completely from its first element for every single iteration of the outer loop.
Challenges
Challenge 1 +15 XP
Write a function 'format_ranking' that takes a list of names and returns a list of strings formatted as '1. Name', '2. Name', etc.