Junior
What are the list generators available in Python?
sobes.tech AI
Answer from AI
In Python, the following list comprehensions exist:
-
With basic syntax:
[expression for element in iterable]Appliesexpressionto eachelementiniterable. -
With a filter condition:
[expression for element in iterable if condition]Includes only thoseelementsfor whichconditionis true. -
With nested loops:
[expression for element1 in iterable1 for element2 in iterable2 ...]Similar to nestedforloops.
Examples:
# Basic syntax
squares = [x**2 for x in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# With filter condition
even_numbers = [x for x in range(20) if x % 2 == 0]
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# With nested loops
matrix = [[1, 2], [3, 4]]
flat_list = [item for row in matrix for item in row]
# [1, 2, 3, 4]
Besides list comprehensions, there are similar generators for other data structures:
- Dictionary comprehensions:
{key: value for element in iterable ...} - Set comprehensions:
{expression for element in iterable ...} - Generator expressions:
(expression for element in iterable ...)- important distinction: they return an iterator, not the entire list at once, which saves memory for large sequences.