Курс 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. %pinfo: получение информации об объекте
  3. Оформление кода на Python
  4. Работа с комплексными числами
  5. Возврат значений из генератора
  6. Объединение списков с использованием itertools.chain
  7. Объединение итераторов
  8. Сравнение def и lambda в Python
  9. Измерение времени выполнения кода с помощью time
  10. Конкатенация строк с join() в Python
  11. globals и locals
  12. Преобразование range в итератор
  13. Работа с модулем Calendar
  14. Получение комбинаций в Python
  15. Метод __ixor__ для побитового исключающего ИЛИ
  16. Работа с каталогами в Python
  17. Магические методы в Python
  18. Генераторы списков
  19. Инверсия списка/строки в Python
  20. Добавление элементов в список: append() vs extend()
  21. Оператор морж в Python 3.8
  22. Мощь вложенных функций в Python
  23. Оператор деления для класса Rational
  24. Анонимные функции в Python
  25. Частичное совпадение ввода
  26. Декораторы классов
  27. Экспорт данных с помощью writefile
  28. Экспорт функций в Python
  29. List Comprehension Tutorial
  30. Объединение Python и Shell
  31. Переворот списка в Python
  32. Подсчет часто встречающихся элементов
  33. Работа со списками
  34. Функция pow() — возвести число в степень
  35. Работа с Enum в Python3.
  36. Python Translator: создание локальных переводчиков
  37. Python UserString — создание подклассов строк
  38. Переопределение метода __floordiv__
  39. Обработка ошибки IndexError
  40. Метод lt для сортировки объектов
  41. Метод eq для сравнения объектов
  42. Использование метода lower()
  43. Подробная информация о %pinfo
  44. Удаление элементов из списка в Python
  45. Итераторы в Python
  46. Форматирование строк в Python
  47. Управление пакетами с pip
  48. Декоратор total_ordering для класса Point

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