Курс 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. Создание и использование ChainMap
  3. Разбиение текста в Python
  4. Работа с getopt
  5. Многоточие в Python
  6. Замена текста с помощью sub
  7. Лямбда-функции в Python
  8. Округление в Python
  9. Компиляция регулярных выражений
  10. Множества и frozenset
  11. Декоратор total_ordering для класса Point
  12. Разделение строки на пары ключ-значение.
  13. Метод join() с набором
  14. Метод join() для объединения элементов строки
  15. Работа с CSV файлами в Python
  16. Pillow: работа с изображениями
  17. Метод matmul для умножения матриц
  18. Оператор объединения словарей
  19. Установка и обучение ChatterBot
  20. Хешируемые ключи в Python
  21. Работа с очередями в Python
  22. Открытие и запись файлов
  23. Работа с itertools
  24. Сравнение def и lambda в Python
  25. Создание задания в Cron
  26. Обработка ошибки IndexError
  27. Преобразование объекта в строку
  28. Проверка дубликатов в Python
  29. Пересечение списков с использованием множеств
  30. Работа со словарями в Python
  31. Работа с географическими данными.
  32. Именование переменных в Python
  33. Многострочные комментарии в Python
  34. kwargs в Python
  35. Операторы сравнения в Python
  36. Вычисление натуральных логарифмов в NumPy
  37. Defaultdict в Python
  38. Метод remove() для удаления элемента из списка
  39. Хранение данных с помощью dataclasses
  40. Описание скриптов в README
  41. Python enumerate() для работы с индексами
  42. Блок else в обработке исключений
  43. Скачать видео с YouTube
  44. Регистрация на TenChat
  45. Оператор «is not» в Python
  46. Использование функции enumerate()
  47. Подсчет количества элементов в списке
  48. Оператор морж в Python 3.8

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