← Back to Python

All Topics

Advertisement

Learn/Python/Python Fundamentals

List Comprehensions

Topic: Advanced Syntax

Advertisement

Introduction

List comprehensions provide a concise way to create lists based on existing sequences.

Basic Syntax

# Traditional loop
squares = []
for i in range(10):
    squares.append(i ** 2)

# List comprehension
squares = [i ** 2 for i in range(10)]

# With condition
evens = [i for i in range(20) if i % 2 == 0]

Nested Comprehensions

# 2D matrix
matrix = [[i * j for j in range(5)] for i in range(5)]

# Flatten nested list
nested = [[1, 2], [3, 4], [5, 6]]
flat = [item for sublist in nested for item in sublist]

Advanced Patterns

# With multiple conditions
result = [x for x in range(100) if x % 2 == 0 if x % 5 == 0]

# With if-else (ternary)
labels = ["even" if x % 2 == 0 else "odd" for x in range(10)]

# Dictionary comprehension
word_lengths = {word: len(word) for word in ["hello", "world"]}

# Set comprehension
unique_lengths = {len(word) for word in ["hi", "hello", "world"]}

Generator Expression

# Instead of creating full list
sum_of_squares = sum(x**2 for x in range(1000000))

Practice Problems

  1. Generate list of prime numbers using comprehension
  2. Matrix transposition using comprehension
  3. Flatten dictionary of lists
  4. Filter and transform data simultaneously
  5. Create nested structure with comprehension

Advertisement

Advertisement

Need More Practice?

Get personalized Python help from ChatWhole's AI-powered platform.

Get Expert Help →