Курс Python → Фильтрация списков с itertools

Модуль itertools в Python предоставляет множество полезных функций для работы с итерируемыми объектами. Одной из таких функций является функция filterfalse, которая позволяет фильтровать элементы итерируемого объекта согласно заданному условию, без необходимости использования цикла.

Для примера, допустим у нас есть два списка — список leaders с именами лидеров и список selectors с их идентификаторами. Мы хотим отфильтровать список leaders таким образом, чтобы в нем остались только имена лидеров, у которых идентификатор равен единице.


import itertools

leaders = ['Alice', 'Bob', 'Charlie', 'David']
selectors = [0, 1, 1, 0]

filtered_leaders = list(itertools.compress(leaders, selectors))
print(filtered_leaders)

В данном примере мы использовали функцию compress из модуля itertools, которая фильтрует элементы списка leaders согласно значениям из списка selectors. Результатом выполнения данного кода будет список filtered_leaders, содержащий только имена лидеров, у которых идентификатор равен единице — [‘Bob’, ‘Charlie’].

Таким образом, использование модуля itertools позволяет нам легко и элегантно фильтровать списки без необходимости написания циклов. Это делает код более читаемым и компактным, что упрощает его поддержку и развитие.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с файлами в Python
  2. Итераторы в Python
  3. Работа с библиотекой xkcd
  4. Использование подчеркивания в REPL
  5. Разделение строки с помощью split()
  6. Преобразование строки в число
  7. Проверка надежности пароля на Python
  8. Функция с **kwargs в Python
  9. IPython и Jupyter Notebook: руководство
  10. Работа с кортежами
  11. Работа с getopt
  12. Добавление элементов в список: append() vs extend()
  13. Python Метод sleep() времени
  14. Создание таблиц в терминале с PrettyTable
  15. Настройка Cron
  16. Лямбда-функции в Python
  17. Нахождение хеша для бесконечности и NaN в Python
  18. Преобразование объекта в строку
  19. Удаление ключа из словаря в Python
  20. Декораторы в Python
  21. Создание таблиц в Python с PrettyTable
  22. Условные выражения в Python
  23. Область видимости переменных
  24. Возврат нескольких значений из функции
  25. ROT13 Шифр Цезаря в Python
  26. Измерение времени выполнения кода
  27. Функция product() в Python
  28. Генерация UUID в Python
  29. Методы работы со строками в Python
  30. JSON-esque в Python
  31. Расширение информации об ошибке в Python
  32. Доступ к локальным переменным
  33. Безопасный доступ к значениям словаря
  34. Метод сравнения объектов в Python
  35. Форматирование чисел в Python
  36. Основные операции с Numpy
  37. Измерение времени выполнения кода
  38. Использование *args
  39. Оператор морж в Python 3.8
  40. Возврат нескольких значений
  41. Управление ресурсами в Python
  42. Создание и использование ChainMap
  43. Аннотации типов в Python
  44. Расчет времени выполнения
  45. Namedtuple в Python

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