Курс 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. Работа с модулем cmath
  2. Создание namedtuple списком полей
  3. Объединение строк с помощью метода join
  4. Метод rsub в Python: расширение функциональности вычитания
  5. Установка User-Agent в Python
  6. Получение текущей даты в Python
  7. Сортировка с параметром key
  8. Отладка в Python
  9. Замена элементов в списке с помощью генераторов списков
  10. Замена атрибута в именованном кортеже
  11. Принципы LSP и ISP в Python
  12. Метод splitlines() для разделения строк
  13. Метод invert для побитового отрицания
  14. Аргумент по умолчанию
  15. kwargs в Python
  16. Разбиение текста в Python
  17. Использование функции enumerate()
  18. Изменение списка срезами
  19. Оператор Walrus: правильное использование
  20. Работа с IP-адресами в Python
  21. Оператор деления для класса Rational
  22. Работа с JSON в Python
  23. Метод __imod__ для Python
  24. Декоратор Ajax required
  25. Переопределение метода sub
  26. Управление асинхронными задачами на Python.
  27. Обработка элементов в Python
  28. 9 уловок для чистого кода
  29. Solidity для DeFi Ethereum
  30. Обмен значений переменных в Python
  31. Заказ карты Тинькофф Black
  32. Скрытие вывода данных
  33. Представление бесконечности в Python
  34. Повторение и перенос строки
  35. Метод get() в Python
  36. Сортировка элементов в Python
  37. Переменная Шредингера
  38. Структура данных deque в Python
  39. Проверка строки на палиндром
  40. Определение основы слова с showballstemmer
  41. Вычисление натурального логарифма в NumPy
  42. Поиск уникальных и повторяющихся элементов
  43. Создание вкладок с TKinter
  44. Модуль Operator в Python
  45. Потоковый ввод в Python
  46. Удаление специальных символов с помощью re.sub

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