Курс 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. Декораторы в Python
  2. Метод split() в Python
  3. Проверка подстроки в строке
  4. Сглаживание списка
  5. Работа с Path в Python
  6. Именованные срезы в Python
  7. Асинхронное выполнение задач в процессах
  8. Особенности запятых в Python
  9. Измерение потребления памяти при сортировке
  10. Управление экспортом элементов
  11. Разделение строк в Python
  12. Оператор Walrus в Python
  13. Управление фоновыми задачами в Python
  14. Проверка наличия элемента в списке
  15. Использование html-скриптов в Jupyter Notebook
  16. Пересечение списков с использованием множеств
  17. Добавление кнопки в tkinter
  18. Имена объектов в Python
  19. Протокол управления контекстом
  20. Работа с контекстными переменными
  21. Lambda-функция в Python: использование с map() и sum()
  22. Объединение словарей в Python
  23. Оператор space-invader
  24. Любовь к Python
  25. Логирование с Logzero
  26. Преобразование PowerPoint в PDF.
  27. Назначение максимального и минимального значения переменной в Python.
  28. Работа с комплексными числами
  29. Переопределение метода divmod
  30. Работа с модулем Calendar
  31. Удаление дубликатов из списка
  32. Декораторы в Python
  33. Генератор бросков кубиков
  34. inspect в Python: анализ кода
  35. Работа с IP-адресами в Python
  36. Проверка дублей в списке.
  37. Операции с кортежами
  38. Удаление элементов во время итерации
  39. Основные функции и модули Python
  40. Замена переменных в Python
  41. Отрицательные индексы списков
  42. Форматирование строк в Python
  43. Преобразование в float
  44. Функции с дополнением
  45. Инициализация переменных
  46. Разделение функций на этапы
  47. Обезопасьте ввод данных

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