Курс 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. Распаковка элементов последовательности
  2. Создание файла с проверкой ошибки
  3. Python 3.12: переиспользование кавычек
  4. Проблемы с именами переменных
  5. Частичное применение функций в Python
  6. Именование столбцов в Python с pandas
  7. Переменная с нижним подчеркиванием
  8. Библиотека Rich: форматирование текста
  9. Изменения в обработке логических значений
  10. Работа с YAML в Python
  11. Названия переменных
  12. Работа с f-строками 2.0
  13. Разделение строки на пары ключ-значение.
  14. Python и Монти Пайтон
  15. Ограничение итераций в Python
  16. Рациональные числа в Python
  17. Метод index() в Python
  18. Структура строк в Python
  19. Работа со списками
  20. Сортировка данных с лямбда-функциями
  21. Модуль os в Python: работа с файлами
  22. Преобразование букв в нижний регистр
  23. Проблемы с dict в Python
  24. Именованные срезы в Python
  25. Транспонирование матрицы в Python
  26. Оптимизация гиперпараметров с Scikit Optimize
  27. Работа с необработанными строками
  28. Транспонирование 2D-массива с помощью zip
  29. Оператор walrus в Python
  30. Отношения подклассов в Python
  31. Работа со строками в Python.
  32. Шаблоны Flask: условия и циклы
  33. Создание пустых функций и классов в Python
  34. Замена текста с re.sub()
  35. Измерение времени выполнения кода с использованием time
  36. Аргумент по умолчанию
  37. Расширение информации об ошибке в Python
  38. Работа с файлами в Python
  39. Бесконечные списки в Python
  40. Оценка точности модели
  41. Создание пар из последовательностей
  42. Работа со строками в Python
  43. Переворот списка в Python
  44. Удаление элементов во время итерации
  45. Виртуальное окружение Python
  46. Создание новых списков в Python

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