Курс 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. Создание словаря через dict comprehension
  2. Работа с YAML в Python
  3. Логирование с Logzero: ротация файла
  4. Модуль itertools: эффективная работа с итераторами
  5. Наиболее частотные элементы с помощью Counter
  6. Генерация случайных чисел в Python
  7. Генератор списка с условием if
  8. Модуль os в Python: работа с файлами
  9. Моржовый оператор в Python 3.8
  10. Управление контекстом выполнения
  11. Проверка типа данных
  12. Определение основы слова с showballstemmer
  13. Поиск наиболее частого элемента
  14. Работа с кортежами
  15. Методы shutil для работы с файлами
  16. Копирование в Python
  17. Методы работы со списками
  18. Генерация резюме в Gensim
  19. Оператор «not» в Python
  20. Python Метод sleep() из time
  21. Объединение кортежей в Python
  22. Метод split() для разделения строк
  23. Непрерывная проверка в Python
  24. Генераторы данных
  25. Работа с collections в Python
  26. Протокол управления контекстом
  27. Работа с файлами в Python
  28. Проверка запуска скрипта или импорта модуля
  29. Создание спинбокса в tkinter
  30. Особенности запятых в Python
  31. Выключение компьютера с помощью Python
  32. Работа с deque из collections
  33. Сравнение строк в Python
  34. Передача словаря через **kwargs
  35. Возведение в квадрат с помощью itertools
  36. Проверка окончания строки с помощью str.endswith()
  37. Метод init в Python
  38. Перевернуть список в Python
  39. Нахождение хеша для бесконечности и NaN в Python
  40. Работа с географическими данными.
  41. Тип CodeType в Python.
  42. Принципы программирования
  43. Оператор == в Python
  44. Многострочные строки в Python
  45. Применение промокода в Много лосося
  46. Нарезка списков в Python

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