Курс 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. F-строки в Python 3.8
  2. Генераторы в Python
  3. JSON в Python: модуль, dump, dumps, load
  4. Приближение чисел в Python
  5. Генераторные функции в Python
  6. Управление асинхронными задачами с помощью Semaphore
  7. Модуль functools в Python
  8. Python: Splat-оператор и splatty-splat
  9. Управление ресурсами с контекстными менеджерами
  10. Аннотации типов в Python
  11. Работа с collections в Python
  12. Хранение данных
  13. Переворот строки с помощью срезов
  14. Преобразование чисел в восьмеричную строку
  15. Установка максимального количества цифр
  16. Поиск кода
  17. Установка random seed в Python
  18. Отношения подклассов в Python
  19. Явный импорт переменных
  20. Добавление элементов в список: append() vs extend()
  21. Срезы в Python
  22. Операция += для списков
  23. Декораторы в Python
  24. Метод __getitem__ в Python
  25. Обработка исключений в Python
  26. Форматирование данных с pprint
  27. Обработка ошибок в JSON данных
  28. Управление памятью в Python
  29. Progress с библиотекой tqdm
  30. Форматирование строк в Python
  31. Установка и использование pyshorteners
  32. Декоратор защиты анонимных пользователей
  33. Работа с изображениями PIL
  34. Преобразование списка в словарь через генератор
  35. Множественное присваивание в Python
  36. Сортировка HTML-элементов
  37. Python: библиотеки и функции
  38. Удаление первого элемента списка
  39. Замена текста с re.sub()
  40. Python: изменяемые и неизменяемые коллекции
  41. Именование переменных в Python
  42. Форматирование чисел в Python
  43. Выбор редактора кода.
  44. Форматирование строк в Python

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