Python генератор списка
Генераторы списка в Python - это удобный и мощный инструмент, который позволяет создавать списки с помощью компактного кода и минимального количества строк. Вместо того чтобы объявлять и инициализировать список поэлементно, вы можете использовать генераторы списка для определения элементов списка с помощью выражений или итераций.
Синтаксис генератора списка в Python выглядит следующим образом:
<pre>
[выражение for элемент in итерация if условие]
</pre>
где:
выражение- это выражение, которое определяет значение каждого элемента списка.элемент- это переменная, которая принимает значение текущего элемента из итерации.итерация- это итерируемый объект, такой как список, кортеж или диапазон, из которого берутся элементы для создания списка.условие(необязательно) - это логическое выражение, которое фильтрует элементы списка на основе определенного условия.
Давайте рассмотрим несколько примеров использования генераторов списка в Python.
Пример 1: Создание списка квадратов чисел от 1 до 10.
<pre>
squares = [x**2 for x in range(1, 11)]
print(squares)
</pre>
В этом примере генератор списка создает список квадратов чисел от 1 до 10. Выражение x**2 определяет квадрат каждого числа из диапазона range(1, 11), а переменная x принимает значение каждого числа из диапазона. Результатом будет список [1, 4, 9, 16, 25, 36, 49, 64, 81, 100].
Пример 2: Фильтрация списка и получение только четных чисел от 1 до 20.
<pre>
even_numbers = [x for x in range(1, 21) if x % 2 == 0]
print(even_numbers)
</pre>
В этом примере генератор списка создает список чисел от 1 до 20, при условии, что число делится нацело на 2. Выражение x % 2 == 0 проверяет, является ли число x четным. Результатом будет список [2, 4, 6, 8, 10, 12, 14, 16, 18, 20].
Пример 3: Создание списка из строк с определенной условием.
<pre>
words = ['apple', 'orange', 'banana', 'mango']
filtered_words = [word for word in words if len(word) >= 6]
print(filtered_words)
</pre>
В этом примере генератор списка создает новый список из элементов списка words, но только тех, у которых длина строки больше или равна 6. Выражение len(word) >= 6 проверяет, удовлетворяет ли строка условию. Результатом будет список ['orange', 'banana'].
Генераторы списка - это эффективный и компактный способ создания списков в Python. Они позволяют сократить количество строк кода и повысить читабельность вашего кода.