Курс 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. Работа с JSON в Python
  3. Декоратор для группы пользователей в Django
  4. Метод gt в Python
  5. Генератор списка с условием if
  6. Тестирование времени с Freezegun
  7. Декораторы с аргументами в Python
  8. Работа со строками в Python
  9. Создание комплексных чисел
  10. Проверка существования переменной с оператором :=
  11. Математические функции в Python
  12. Объединение списков с помощью zip
  13. Оценка выражений генератора в Python
  14. Генераторы списков в Python
  15. Метод get для словарей
  16. Измерение времени выполнения кода
  17. Генерация UUID в Python
  18. Итерация по итерируемым объектам
  19. Локальные переменные.
  20. Заказ карты Тинькофф Black
  21. Наследование в программировании
  22. Оператор del в Python
  23. Функция product() из itertools
  24. Взаимодействие с sys
  25. Работа с OpenCV
  26. Работа с модулем cmath
  27. Переопределение метода divmod
  28. Объединение, распаковка и деструктуризация
  29. Измерение времени выполнения кода
  30. JSON в Python: модуль, dump, dumps, load
  31. Работа с множествами в Python
  32. Наиболее частотные элементы с помощью Counter
  33. Функции высшего порядка в Python
  34. Возведение в квадрат с помощью itertools
  35. Аргументы *args и **kwargs
  36. Функция map() и ленивая оценка
  37. Создание и удаление объектов
  38. Работа со словарями в Python
  39. Генераторы списков в Python
  40. Расчет времени выполнения программы
  41. Транспонирование 2D-массива с помощью zip
  42. Управление виртуальными средами в Python
  43. Абстракции словарей и множеств в Python
  44. Методы list в Python
  45. Применение функции map() с лямбда-функциями
  46. Метод rename() для переименования файлов и каталогов
  47. Обход словаря в Python
  48. Преобразование документов в PDF с помощью Spire.Office
  49. Namedtuple в Python

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