Курс 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. Присвоение и ссылки
  2. Работа с областями видимости переменных
  3. Создание генераторов в Python
  4. Логирование в Python
  5. Работа с библиотекой requests
  6. Контроль точности вывода чисел
  7. Flask: создание веб-приложений
  8. Перехват исключений в Python
  9. Декораторы с аргументами
  10. Функция zip() — объединение последовательностей
  11. Работа с файлами в Python
  12. Работа с итераторами в Python
  13. Numpy: разбиение массивов
  14. Активация Matplotlib в Jupyter
  15. Фильтрация данных в Python.
  16. Расчет времени выполнения
  17. Установка и использование emoji
  18. Docstring в Python
  19. Создание графики с черепахой
  20. Декораторы для регистрации функций
  21. Python-dateutil — работа с датами
  22. Python Ellipsis использование
  23. Метод __getitem__ в Python
  24. UserString в Python
  25. Вложенные функции в Python
  26. Хеширование паролей с использованием salt
  27. Комментарии в Python.
  28. Замена элементов в списке с помощью генераторов списков
  29. Работа с модулем random
  30. Создание и использование модулей в Python
  31. Работа с IP-адресами в Python
  32. Печать месячного календаря
  33. Подсчет вхождений элементов
  34. Распаковка аргументов в Python
  35. Преобразование списков в словарь
  36. Реализация операции -= для пользовательского класса
  37. Измерение времени выполнения кода с помощью time
  38. Блок try-except-else
  39. Оператор del в Python
  40. Тестирование модели в PyTorch
  41. Beautiful Soup — извлечение данных из HTML
  42. Подсчет элементов в Python
  43. Поиск наиболее частого элемента списке
  44. Преобразование регистра строк

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