Курс 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"

  1. Пространство имен в Python
  2. Переопределение унарных операторов
  3. Создание детектора плагиата
  4. Карта бомбоубежищ в Москве и Питере
  5. Создание коллекций из генератора
  6. Символ подчеркивания в Python
  7. Проверка типа объекта в Python
  8. Аннотации типов в Python
  9. Структуры данных в Python
  10. Отправка поздравлений по дню рождения
  11. Работа с контекстным менеджером Pool
  12. Работа с IP-адресами в Python
  13. Функция eval() в Python
  14. Показ всплывающих окон Tkinter
  15. Описание скриптов в README
  16. Декораторы в Python
  17. Изменение объектов в Python
  18. Метод split() для разделения строк
  19. Переменная Шредингера
  20. Python: Splat-оператор и splatty-splat
  21. Асинхронное программирование с asyncio
  22. Работа с модулем cmath
  23. Возвращение нескольких значений через кортеж или класс
  24. split() — разделение строки
  25. Работа с collections в Python.
  26. Функция map() и ленивая оценка
  27. Экспорт данных в файл.
  28. Разделение строки на подстроки в Python
  29. Функция reversed() в Python
  30. Основные операции с Numpy
  31. Оператор «is not» в Python
  32. Генераторы в Python
  33. Проверка запуска скрипта или импорта модуля
  34. Метод join() для объединения элементов строки
  35. Принципы Zen Python
  36. Объединение итераторов
  37. Управление памятью в numpy.
  38. Профилирование с cProfile
  39. Цикл for в Python
  40. Создание словарей в Python
  41. Проверка надежности пароля на Python
  42. Списки: объединение, изменение
  43. Функция product() в Python
  44. Изменение списка срезами

Marketello читают маркетологи из крутых компаний