Курс 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. Создание объекта timedelta
  2. Переопределение метода xor в Python
  3. Очистка строки в Python
  4. Модуль os: работа с файлами и папками
  5. Курсы Яндекс Практикум
  6. Библиотека sh: использование команд bash в Python
  7. Очистка списка от False, None, 0, «»
  8. Цикл while в Python
  9. Работа с Event() в threading
  10. Создание и инициализация объектов
  11. Удаление первого элемента списка
  12. Обновление данных через PUT запрос
  13. Разделение строки с регулярными выражениями
  14. Метод hash в Python
  15. Работа с OpenCV
  16. Участие в LP стейкинге Waves
  17. Декораторы в Python
  18. Конкатенация строк с методом join()
  19. Генератор бросков кубиков
  20. Быстрый поиск кода
  21. Переворот последовательности
  22. Извлечение новостей с помощью newspaper3k
  23. Преобразование букв в нижний регистр
  24. Документация функции help() в Python
  25. Методы работы со строками в Python
  26. Удаление элемента по индексу в Python
  27. Форматирование заголовков в Python
  28. Бесконечная проверка в Python
  29. Создание списков в Python
  30. Python Поверхностное Копирование
  31. Сохранение и загрузка модели в PyTorch
  32. Объединение множеств в Python
  33. Тестирование с responses
  34. Docstring в Python
  35. Работа со строками в Python
  36. Обработка ошибки IndexError
  37. Установка Git и AWS CLI
  38. Оператор «not» в Python
  39. *args и **kwargs в Python
  40. Работа с итераторами через срезы
  41. Константы в модуле cmath
  42. Магические методы в Python
  43. Удаление URL-адресов в Python
  44. Разделение строк в Python
  45. Функция product() из itertools
  46. Разделение функций на этапы

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