🔄 Using enumerate() and zip()
Python's enumerate()
and zip()
functions are powerful tools for iteration, allowing you to work with indices and combine multiple sequences efficiently.
# Basic enumerate and zip usage
fruits = ['apple', 'banana', 'cherry']
# Using enumerate
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# Using zip
prices = [1.0, 2.0, 3.0]
for fruit, price in zip(fruits, prices):
print(f"{fruit}: ${price}")
🎯 The enumerate() Function
enumerate()
adds a counter to an iterable, making it easy to track positions while iterating.
Basic Examples
# Different ways to use enumerate
fruits = ['apple', 'banana', 'cherry']
# Basic enumeration
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# Custom start value
for index, fruit in enumerate(fruits, start=1):
print(f"Item {index}: {fruit}")
# Creating numbered list
numbered_fruits = [f"{i+1}. {fruit}" for i, fruit in enumerate(fruits)]
print(f"Numbered list: {numbered_fruits}")
# Debugging with enumerate
for i, fruit in enumerate(fruits):
if len(fruit) < 5:
print(f"Warning: Short fruit name at index {i}")
🔍 The zip() Function
zip()
combines multiple iterables into a single iterator of tuples, making it perfect for parallel iteration.
# Different ways to use zip
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
cities = ['New York', 'London', 'Paris']
# Basic zipping
for name, age in zip(names, ages):
print(f"{name} is {age} years old")
# Zipping multiple lists
for name, age, city in zip(names, ages, cities):
print(f"{name} is {age} and lives in {city}")
# Creating dictionaries
person_dict = dict(zip(names, ages))
print(f"Dictionary: {person_dict}")
# Unzipping
zipped = list(zip(names, ages))
unzipped_names, unzipped_ages = zip(*zipped)
print(f"Unzipped names: {unzipped_names}")
print(f"Unzipped ages: {unzipped_ages}")
🎯 Key Takeaways
Was this helpful?
Track Your Learning Progress
Sign in to bookmark tutorials and keep track of your learning journey.
Your progress is saved automatically as you read.