Курс 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. Конкатенация строковых литералов
  2. Оператор объединения словарей
  3. Модуль itertools: эффективная работа с итераторами
  4. f-строки в формате строк
  5. Декораторы для регистрации функций
  6. Декораторы в Python
  7. Основы работы с базами данных в Python
  8. Команда %dhist — список посещенных каталогов
  9. Concrete Paths в Python
  10. Управление пакетами с pip
  11. Переопределение унарных операторов
  12. Работа с итераторами в Python
  13. Экспорт данных с помощью writefile
  14. Функции с дополнением
  15. Работа с индексами списков
  16. Извлечение аудио из видео
  17. Декоратор Ajax required
  18. Красивый вывод списка
  19. Работа с пакетами
  20. Создание и использование ChainMap
  21. Оператор морж в Python 3.8
  22. Создание новых функций с помощью functools.partial
  23. Вложенные генераторы в Python
  24. Загрузка постов Instagram
  25. Работа с модулем bisect
  26. Метод is_absolute() для PurePath
  27. Тестирование модели в PyTorch
  28. Библиотека Emoji: использование смайлов в Python
  29. Выражения-генераторы в Python
  30. Генератор списка в Python
  31. Анализ кода — Python
  32. Метод __float__ в Python
  33. Сортировка с параметром key
  34. Управление асинхронными задачами с помощью Semaphore
  35. Работа с итераторами в Python
  36. Идентификатор объекта в Python
  37. Python union() функция — объединение множеств
  38. Метод count() для списков
  39. ChainMap.new_child() — добавление нового словаря
  40. Сглаживание списка
  41. Использование двоеточия в Python
  42. Метод join() для объединения элементов строки
  43. Итерация по итерируемым объектам
  44. Функция zip() в Python
  45. Функции map, filter и reduce
  46. Python Поверхностное Копирование

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