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 โ