Курс 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. Метод enumerate() в Python
  2. Срез списка в Python
  3. Модуль subprocess: запуск внешних команд
  4. Переопределение метода __eq__
  5. Метод join() с набором
  6. Структурирование данных с Pydantic
  7. Python UserString — создание подклассов строк
  8. Копирование объектов в Python
  9. Определение основы слова с showballstemmer
  10. Оптимизация гиперпараметров в Python
  11. Работа с файлами и директориями в Python.
  12. Модуль Operator в Python
  13. Установка Python3.7 и PIP
  14. Создание пустых функций и классов в Python
  15. Оператор морж в Python 3.8
  16. Работа со списками
  17. Блок try…finally в Python
  18. Векторизация в Python с NumPy.
  19. Генераторы в Python
  20. Игра Виселица на Python
  21. Аннотации типов в Python
  22. Переопределение метода sub
  23. Работа с файловой системой в Python
  24. Присвоение и ссылки
  25. Константы в модуле cmath
  26. Работа с комплексными числами
  27. Форматирование вывода с F-строками
  28. Проверка памяти объекта
  29. Метод join для наборов
  30. Вставка переменных в шаблоны Flask
  31. Операторы += в Python
  32. Проверка наличия элемента в списке
  33. Создание матрицы в Python
  34. Создание и обучение модели с Keras
  35. Поиск уникальных элементов строкой в Python
  36. Каналы Senior: Python, Java, Frontend, SQL, C++
  37. Удаление специальных символов
  38. Подчеркивание в REPL
  39. Вызов функций по строке в Python.
  40. Метод count() для списков
  41. Использование type hints
  42. Копирование в Python
  43. Работа с временем в Python
  44. Логирование в Python
  45. Python Translator: создание локальных переводчиков
  46. Операция += для списков
  47. Работа с комбинациями в Python.
  48. Иерархия классов в Python

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