Python Tutorial

И снова списковое включение list comprehension в Python

И снова списковое включение list comprehension в Python

В Python, конструкция спискового включения (list comprehension) является удобным методом для создания списков, который зачастую более лаконичен и понятен по сравнению с использованием обычных циклов for и связанных с ними действий по работе со списками. Она включает в себя выражение и цикл for, размещённые внутри квадратных скобок, и может также содержать условный оператор if для отбора элементов.
Предположим, у нас есть задача: создать список, содержащий квадраты всех чётных чисел от 1 до 10. С помощью спискового включения это можно сделать так:
squares_of_evens = [x**2 for x in range(1, 11) if x % 2 == 0]

# [4, 16, 36, 64, 100]
Здесь x**2 - это выражение, которое определяет, что в новом списке будут квадраты чисел. for x in range(1, 11) - это цикл, который перебирает числа от 1 до 10. if x % 2 == 0 - это условие, которое фильтрует и включает в список только чётные числа.

Если мы выполним этот код, то в squares_of_evens будет список [4, 16, 36, 64, 100], что соответствует квадратам чётных чисел от 1 до 10.
Ещё пример. Допустим, у нас есть список имен, и мы хотим создать новый список, который содержит только имена, начинающиеся с буквы "А". Возьмём, к примеру, список ["Анна", "Борис", "Алексей", "Ирина", "Антон"]. Используя списковое включение, мы можем сделать это следующим образом:
names = ["Анна", "Борис", "Алексей", "Ирина", "Антон"]

names_starwith_A = [name for name in names if name.startswith("А")]

print(names_starwith_A)

# ['Анна', 'Алексей', 'Антон']
В этом примере name for name in names - это цикл, который перебирает все имена в списке names. if name.startswith("А") - это условие, которое проверяет, начинается ли имя с буквы "А".

После выполнения этого кода, names_starwith_A будет содержать список ["Анна", "Алексей", "Антон"], включающий только имена, начинающиеся с буквы "А".
Списки\кортежи