Курс 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. Автоматизация с Python
  3. Установка Python3.7 и PIP
  4. Путь к интерпретатору Python
  5. Итераторы в Python
  6. Генераторы в Python
  7. Извлечение аудио из видео
  8. Преобразование списка в словарь через генератор
  9. Обработка исключения UnboundLocalError
  10. Работа с множествами в Python
  11. Импорт классов из другого файла
  12. Класс UserDict: дополнительная функциональность
  13. Принципы LSP и ISP в Python
  14. Возврат нескольких значений
  15. Переменные в Python: сокращение гласных
  16. Введение в Python
  17. Python Enum Weekday Usage
  18. Поиск повторов в списке
  19. Копирование объектов в Python
  20. Сокращение ссылок с pyshorteners
  21. Создание итерируемых объектов
  22. Переворот строки с использованием цикла
  23. Метод setdefault() в Python
  24. Создание словарей с defaultdict()
  25. Сравнение def и lambda в Python
  26. Добавление элементов в список: append() vs extend()
  27. Компиляция регулярных выражений
  28. Метод __irshift__ для Python
  29. Лямбда-функции для min/max
  30. Явный импорт в Python
  31. Сортировка в Python
  32. Извлечение чисел из текста
  33. Аннотации типов в Python
  34. Структура данных deque в Python
  35. Отладка регулярных выражений в Python
  36. Magic Commands — улучшение работы с Python
  37. Методы работы со строками в Python
  38. Подсчет частоты элементов с Counter
  39. Проверка дублей в списке.
  40. Функция с **kwargs в Python
  41. Преобразование range в итератор
  42. Оператор Walrus: правильное использование
  43. Оценка точности модели
  44. Оператор морж в Python 3.8
  45. Многоточие в Python
  46. Операции с массивами в NumPy
  47. Кортежи в Python: особенности и преимущества

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