Курс 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. Бесконечные списки в Python
  3. Оператор zip в Python
  4. Удаление символа из строки
  5. JMESPath в Python
  6. Установка и использование emoji
  7. Переопределение метода len
  8. Импорт и использование модулей в Python
  9. Блок try…finally в Python
  10. Работа с deque из collections
  11. Пересечение списков с использованием множеств
  12. Проверка однородности элементов списка
  13. Поиск шаблона в строке
  14. Регистрация на курсы SF Education
  15. Использование super() в Python
  16. Форматирование строк в Python.
  17. Форматирование строк с f-строками
  18. Проверка списка: any() и all()
  19. Генераторы списков в Python
  20. Блок else в обработке исключений
  21. Многострочные комментарии в Python
  22. split() — разделение строки
  23. Итерации в Python
  24. Retrying в Python: повторные вызовы
  25. Работа с Path в Python
  26. Лямбда-функции в defaultdict
  27. Иерархия классов в Python
  28. Печать комбинаций в Python с Itertools
  29. Базовые объекты Python
  30. Обработка исключений в Python
  31. Генерация QR-кодов с библиотекой qrcode
  32. Работа с YAML в Python
  33. Поиск простых чисел
  34. Тернарный оператор в Python
  35. Работа с геоданными с помощью geopy
  36. kwargs в Python
  37. Разбиение текста в Python
  38. Кортеж в Python: создание и использование
  39. Инверсия списка/строки в Python
  40. globals и locals
  41. Проблемы с именами переменных
  42. Порядок операций в Python
  43. Скачать видео с YouTube
  44. Создание класса в Python

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