Курс Python → Генераторы списков
Генераторы списков (List Comprehension) — это удобный способ создания нового списка, применяя определенную функцию к каждому элементу исходного списка. Они позволяют написать более компактный и читаемый код, чем использование циклов for. Генераторы списков также позволяют улучшить производительность программы, так как они выполняются быстрее, чем обычные циклы.
Для использования генераторов списков необходимо записать выражение, которое определяет новый список, в квадратных скобках. Это выражение состоит из функции или выражения, которое будет применено к каждому элементу исходного списка, за которым следует цикл for или условие, определяющее какие элементы будут включены в новый список.
numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
print(squared_numbers) # Output: [1, 4, 9, 16, 25]
В данном примере мы создаем новый список squared_numbers, в котором каждый элемент возводится в квадрат. Мы используем генератор списка [x**2 for x in numbers], который перебирает каждый элемент numbers и применяет функцию возведения в квадрат к нему. Результатом будет новый список squared_numbers с квадратами исходных чисел.
Генераторы списков также могут содержать условия, которые фильтруют элементы исходного списка. Например, можно создать новый список, содержащий только четные числа:
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers) # Output: [2, 4]
В этом примере мы используем условие if x % 2 == 0, чтобы выбрать только четные числа из списка numbers и добавить их в новый список even_numbers. Таким образом, генераторы списков позволяют создавать новые списки на основе старых с помощью более компактного и эффективного кода.
Другие уроки курса "Python"
- Функция zip() в Python
- Подсчет количества элементов в списке
- Упрощенный вывод данных в Python
- Слияние словарей в Python 3.9
- Сортировка HTML по CSS-селектору
- Списки в Python: основы
- Вывод сложных структур данных с помощью pprint
- Передача параметров в Python
- Переопределение метода sub
- IPython и Jupyter Notebook: руководство
- Взаимодействие с sys
- Работа с библиотекой xkcd
- Обновление и получение данных в SQLite
- Работа с timedelta
- Форматирование строк в Python
- Defaultdict в Python
- Изменяемые и неизменяемые объекты
- Обработка аргументов Python
- Аргументы *args и **kwargs
- Удаление элемента по индексу
- Списковые включения в Python
- Переопределение метода delitem в Python
- Работа с прокси в Python
- Транспонирование матрицы
- Цикл while в Python
- Именованные срезы в Python
- Работа с Telegram API на Python
- Управление асинхронными задачами на Python.
- Получение имени функции с помощью inspect
- Измерение времени выполнения в Python
- Сортировка данных с лямбда-функциями
- Основные операции с Numpy
- Закрытие файла в Python
- Получение текущей даты и времени с помощью datetime
- Создание и обучение модели с Keras
- Создание уникального множества
- Логические значения в Python
- Оптимизация памяти с __slots__
- Преобразование символов с помощью map
- Удаление файлов в Python
- Работа с срезами в Python
- Фильтрация последовательности
- Проверка однородности элементов списка
- Декораторы для регистрации функций
- Enum в Python















