Iterating Through Collections in Python

Overview

In this lesson, we will cover how to iterate through the various collection data types in Python, including lists, tuples, sets, and dictionaries. Iterating through collections is a fundamental skill for accessing and manipulating data within these structures.

Introduction

Python provides several ways to iterate through collections, allowing you to perform operations on each item in a collection. This capability is essential for tasks such as data processing, analysis, and transformation.

Iterating Through Lists

  • Using a For Loop: The most common way to iterate through a list.
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

Iterating Through Tuples

  • Using a For Loop: Similar to iterating through lists.
coordinates = (10.0, 20.0)
for coordinate in coordinates:
    print(coordinate)

Iterating Through Sets

  • Using a For Loop: Iterates through the unique elements in a set.
colors = {'red', 'green', 'blue'}
for color in colors:
    print(color)

Iterating Through Dictionaries

  • Iterating Over Keys: Use a for loop directly on the dictionary, which iterates over its keys by default.

  • Iterating Over Values: Use .values() method.

  • Iterating Over Key-Value Pairs: Use .items() method for both keys and values.

person = {'name': 'John', 'age': 30}
# Iterating over keys
for key in person:
    print(key)

# Iterating over values
for value in person.values():
    print(value)

# Iterating over key-value pairs
for key, value in person.items():
    print(key, value)

Advanced Iteration Techniques

  • List Comprehension: Provides a concise way to create lists by iterating over an iterable and optionally including an if statement.
squared_numbers = [x**2 for x in range(10)]
  • Dictionary Comprehension: Similar to list comprehension but creates dictionaries.
squared_numbers = {x: x**2 for x in range(10)}

Using the enumerate() Function: Adds a counter to an iterable and returns it as an enumerate object. Useful for getting the index of items while iterating.

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(index, fruit)

Using the zip() Function: Combines elements from multiple iterables into tuples. Useful for iterating over multiple lists simultaneously.

fruits = ['apple', 'banana', 'cherry']
prices = [1.00, 0.75, 2.50]
for fruit, price in zip(fruits, prices):
    print(fruit, price)

Conclusion

Iterating through collections is a fundamental skill in Python, enabling you to access, manipulate, and transform data within lists, tuples, sets, and dictionaries. By mastering the various iteration techniques, you’ll be well-equipped to handle a wide range of data-centric tasks in Python.