Курс 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. Склеивание строк через метод join()
  2. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  3. Измерение времени выполнения кода с помощью time
  4. Моржовый оператор в Python 3.8
  5. Получение комбинаций в Python
  6. Разность множеств
  7. Копирование списков в Python
  8. Выход из профиля в Django
  9. Функция с **kwargs в Python
  10. Форматирование строк в Python
  11. GitHub в Telegram: подписка на уведомления
  12. Работа с модулем glob в Python
  13. Создание тестовых данных с Faker
  14. Метод join() для объединения элементов строки
  15. Работа с словарями в Python
  16. Преобразование символов в нижний регистр
  17. Транспонирование 2D-массива с помощью zip
  18. Вывод баннеров
  19. Цикл for с enumerate() в Python
  20. Получение текущего времени в Python
  21. Метод ior для битовых операций
  22. Делегирование в Python
  23. Вычисление времени выполнения
  24. Управление доступом к модулю
  25. Управление асинхронными задачами на Python.
  26. Генераторы списков в Python
  27. Преобразование строки в число
  28. Выключение компьютера с помощью Python
  29. Вычисление натуральных логарифмов в NumPy
  30. Применение команды break
  31. Преобразование многоуровневого словаря
  32. Оператор обр. импликации
  33. Удаление файлов в Python
  34. Метод enumerate() в Python
  35. Логирование с Loguru
  36. Поиск индексов подстроки
  37. Установка и использование emoji
  38. Регулярные выражения в Python
  39. Визуализация пропусков данных
  40. Метод get для словарей
  41. Удаление символов новой строки в Python.
  42. Простой калькулятор Python
  43. Пустой оператор pass в Python
  44. Использование type hints
  45. Операторы объединения в Python 3.9
  46. Печать календаря в Python

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