Как работают dict comprehension, list comprehension и set comprehension?
dict comprehension
, list comprehension
и set comprehension
- это синтаксические конструкции в Python, позволяющие создавать новые словари, списки и множества с использованием более компактного и выразительного синтаксиса. Они представляют собой способы генерации новых коллекций на основе существующих.
List Comprehension (Генератор списков):
Синтаксис:
new_list = [expression for item in iterable if condition]
Пример:
numbers = [1, 2, 3, 4, 5] squared_numbers = [x**2 for x in numbers if x % 2 == 0] print(squared_numbers) # Вывод: [4, 16]
Set Comprehension (Генератор множеств):
Синтаксис:
new_set = {expression for item in iterable if condition}
Пример:
numbers = [1, 2, 3, 4, 5] squared_numbers_set = {x**2 for x in numbers if x % 2 == 0} print(squared_numbers_set) # Вывод: {16, 4}
Dict Comprehension (Генератор словарей):
Синтаксис:
new_dict = {key_expression: value_expression for item in iterable if condition}
Пример:
numbers = [1, 2, 3, 4, 5] squared_numbers_dict = {x: x**2 for x in numbers if x % 2 == 0} print(squared_numbers_dict) # Вывод: {2: 4, 4: 16}
Как они работают:
Итерируются по элементам
iterable
(например, списокnumbers
в примерах).Применяют выражение
expression
к каждому элементу.Если указано условие
if
, фильтруют элементы в соответствии с этим условием.
Эти конструкции предоставляют эффективный и удобный способ создания коллекций на основе существующих данных, и они часто используются в Python для более лаконичного и выразительного кода.
Last updated
Was this helpful?