Курс 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. Преобразование символов с помощью map
  2. Оператор морж в Python 3.8
  3. Просмотр файла в Jupyter Noteboo
  4. JSON в Python: модуль, dump, dumps, load
  5. Копирование и вставка текста в Python
  6. f-строки в формате строк
  7. Цикл for в Python
  8. Проектирование Singleton с метаклассом
  9. Парсинг статей с Newspaper3k
  10. %pinfo: получение информации об объекте
  11. Удаление ссылок в Python
  12. Оформление кода на Python
  13. Метод __int__ в Python
  14. Метод rmatmul для пользовательских матриц
  15. Изменение IP-адреса в Python
  16. Использование *args
  17. Оператор zip в Python
  18. Поиск шаблона в строке
  19. Отслеживание выполнения программы с библиотекой tqdm
  20. Область видимости переменных
  21. Импорт в Python: список all
  22. Подсчет элементов с помощью Counter из collections
  23. Проверка версии Python
  24. Создание уникального множества
  25. Сортировка данных в Python
  26. IPython и Jupyter Notebook: руководство
  27. Переменная с нижним подчеркиванием
  28. Создание списков в Python
  29. Аннотации типов в Python
  30. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  31. Отображение графиков в Jupyter с Matplotlib
  32. Именование столбцов в Python с pandas
  33. Удаление эмодзи с помощью pandas
  34. Перевод двоичного кода в целое число
  35. Работа с прокси в Python
  36. Мониторинг памяти с Pympler
  37. Логические операторы в Python
  38. Объединение списков в Python
  39. split() без разделителя
  40. Лямбда-функции в Python
  41. Управление ресурсами в Python
  42. Python groupby() из itertools: работа с повторяющимися элементами
  43. Изменяемые и неизменяемые объекты
  44. Тайное преобразование типа ключа
  45. enumerate() в Python для работы с индексами
  46. Операторы объединения в Python 3.9
  47. Получение текущей даты и времени с помощью datetime
  48. Активация Matplotlib в Jupyter
  49. ChainMap.new_child() — добавление нового словаря
  50. Генерация UUID в Python

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