TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #3445 3.63K
Зачем нужен List Comprehensions и как он помогает Python-разработчикам

List Comprehensions — это мощный инструмент в Python, который позволяет создавать списки простым и читаемым способом. Используя List Comprehensions, вы можете избавиться от громоздких циклов for и сделать код более компактным.

Основной синтаксис List Comprehensions выглядит так:
[выражение for элемент in итерируемый_объект]

Где выражение определяет, что будет добавлено в новый список, а элемент перебирает каждый элемент в итерируемый_объект.

Простой пример:

Создадим список квадратов чисел от 1 до 5:
squares = [x**2 for x in range(1, 6)]
print(squares) # Результат: [1, 4, 9, 16, 25]


Пример с условием:

Теперь создадим список из чисел от 1 до 5, но включим только четные числа:
even_numbers = [x for x in range(1, 6) if x % 2 == 0]
print(even_numbers) # Результат: [2, 4]


Вложенные циклы:

Создадим матрицу 3x3 из чисел от 1 до 3:
matrix = [[x for x in range(1, 4)] for y in range(1, 4)]
print(matrix) # Результат: [[1, 2, 3], [1, 2, 3], [1, 2, 3]]


Пример с условием и вложенными циклами:

Предположим, у нас есть список словарей, и мы хотим извлечь все дни рождения:
people = [
{"first_name": "Василий", "last_name": "Марков", "birthday": "9/25/1984"},
{"first_name": "Регина", "last_name": "Павленко", "birthday": "8/21/1995"}
]

birthdays = [person["birthday"] for person in people if "birthday" in person]
print(birthdays) # Результат: ['9/25/1984', '8/21/1995']


Используя List Comprehensions, вы можете значительно сократить объем кода и сделать его более читаемым. Это особенно полезно для создания списков из данных, применения условий и работы с многомерными структурами данных.

#советы
  • 👍 12
  • ❤ 2
More from @zen_of_python
  1. Oct 3, 2026Как вернуть значение из всплывающего окна в форму Django Admin Django Admin умеет создават…
  2. Oct 2, 2026Охрана трубопровода длиной 400 километров Камеры на столбах не заглянут за угол, дрон виси…
  3. Oct 1, 2026Как не сломать pickle собственным исключением Python Если конструктор исключения принимает…
  4. Oct 1, 2026Как выстроить защиту цепочки поставок Python Эшелонированная схема защиты начинается с соб…
  5. Sep 30, 2026Пакетная обработка в Python: где strict=True не спасает запись С Python 3.12 itertools.bat…
  6. Sep 30, 2026Как воспроизводить гонки потоков Python с помощью blanket Обычно порядок выполнения потоко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →