Курс Python → Создание пользовательской коллекции в Python

Для создания пользовательских коллекций или структур данных в Python можно использовать классы. В данном примере мы рассмотрим класс CustomList, который определяет метод contains(self, item) для проверки наличия элемента item в списке self.items. Этот метод позволяет нам использовать оператор in для объектов типа CustomList, что делает проверку наличия элементов более удобной и интуитивно понятной.

Пример кода:


class CustomList:
    def __init__(self):
        self.items = []

    def contains(self, item):
        return item in self.items

# Использование
custom_list = CustomList()
custom_list.items = [1, 2, 3, 4, 5]

print(2 in custom_list) # True
print(6 in custom_list) # False

Как видно из примера, при вызове оператора in для объекта CustomList будет автоматически вызван метод contains, который вернет True, если элемент найден в списке, и False, если элемент отсутствует. Этот подход позволяет нам легко проверять наличие элементов в нашей пользовательской коллекции.

Переопределение метода contains позволяет нам определить собственную логику проверки наличия элементов в нашем объекте. Например, мы можем добавить дополнительные условия или проверки перед возвратом результата. Это делает нашу структуру данных более гибкой и настраиваемой под конкретные потребности.

Таким образом, использование пользовательских коллекций с переопределенным методом contains может значительно упростить работу с данными в Python, делая код более читаемым и эффективным. Этот лайфхак пригодится при создании собственных структур данных или коллекций, которые требуют проверки наличия элементов.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Форматирование данных с помощью pprint
  2. Структуры данных в Python
  3. Имена объектов в Python
  4. Работа с модулем os в Python
  5. Добавление Progressbar в Python
  6. Отправка POST-запроса в REST API
  7. Функции map() и reduce() в Python
  8. Расчет времени выполнения программы
  9. Работа с итераторами через срезы
  10. JSON в Python: модуль, dump, dumps, load
  11. Именованные аргументы в Python
  12. Сортировка в Python
  13. Работа с изменяемыми коллекциями
  14. Печать в одной строке
  15. Функции с необязательными аргументами
  16. Инвертирование словаря
  17. Библиотека funcy: удобные утилиты
  18. Обмен значений переменных в Python
  19. Выражения-генераторы в Python
  20. Создание графики с черепахой
  21. Извлечение новостей с newspaper3k
  22. Magic Commands — улучшение работы с Python
  23. Оператор continue в Python
  24. Измерение времени выполнения кода
  25. Загрузка постов Instagram
  26. Порядок операций в Python
  27. Курсы Яндекс Практикум
  28. Метод enumerate() в Python
  29. Работа с аргументами командной строки в Python
  30. Скрытие вывода данных
  31. Работа со случайными элементами
  32. Проверка дубликатов в Python
  33. Работа с комплексными числами в Python
  34. Класс-оболочка для словарей
  35. Удаление URL-адресов в Python
  36. Форматирование строк в Python
  37. %pinfo: получение информации об объекте
  38. Чтение и запись TOML-конфигов
  39. Эффективная конкатенация строк с использованием join()
  40. Установка переменной среды в Python
  41. Работа с GitHub в Telegram
  42. Карта бомбоубежищ в Москве и Питере
  43. Howdoi — получение ответов из терминала

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