Курс 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. Установка random seed в Python
  3. Работа с YAML в Python
  4. Философия Python
  5. Работа с исключениями в Python
  6. Метод eq для сравнения объектов
  7. Определение объема памяти объекта
  8. Лямбда-функции в Python
  9. Игра «Угадывание чисел»
  10. Big O оптимизация
  11. Оператор match в Python
  12. Удаление файлов в Python
  13. Распаковка с оператором *
  14. Concrete Paths в Python
  15. Оператор «моржа» (Walrus Operator)
  16. Метод init в Python
  17. Преобразование данных в Python
  18. Использование эмодзи в Python
  19. Поиск самого длинного слова в списке с использованием max()
  20. Получение ID текущего процесса
  21. Изменение логики работы с временем
  22. Работа с комбинациями в Python.
  23. Декоратор защиты анонимных пользователей
  24. Запуск файлового сервера
  25. Модуль math: основные функции
  26. Регистрация на курсы SF Education
  27. Генераторы в Python
  28. Основы слова
  29. Создание веб-приложения с Flask
  30. Методы работы со списками
  31. Декораторы с аргументами в Python
  32. Описание скриптов в README
  33. Очистка вывода в Python
  34. Работа с комплексными числами в Python
  35. Оптимизация методов в Python 3.7
  36. Работа со словарями
  37. Сортировка элементов в Python
  38. Создание и использование ChainMap
  39. Установка и использование TensorFlow
  40. Метод rlshift для битового сдвига
  41. Объединение списков в Python
  42. Создание комплексных чисел
  43. Округление чисел с помощью round
  44. Ускорение выполнения кода в Python
  45. Определение объема памяти объекта

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