enumerate() โ€” Index + Value

names = ["Ming", "Amy", "Bo"]
for i, name in enumerate(names, start=1):
    print(f"{i}. {name}")

Without enumerate you would write for i in range(len(names)) โ€” verbose and slower.

zip() โ€” Parallel Iteration

names  = ["Ming", "Amy", "Bo"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
    print(f"{name}: {score}")

Building a Dict From Two Lists

grades = dict(zip(names, scores))
# {'Ming': 85, 'Amy': 92, 'Bo': 78}

Unzipping

pairs = [("a", 1), ("b", 2), ("c", 3)]
letters, nums = zip(*pairs)
# ('a','b','c'), (1,2,3)

Combining Both

for i, (name, score) in enumerate(zip(names, scores), 1):
    print(f"{i}. {name} โ†’ {score}")

Practise this on PyForm โ€” free

PyForm runs Python in your browser with an AI tutor trained for HKDSE. No install, no credit card.

Open PyForm โ†’