Курс 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. Метод Event.wait() в Python
  3. Именование переменных в Python
  4. Роль запятой в Python
  5. Руководство по использованию Colorama
  6. Подсчет количества элементов в списке
  7. Функции min(), max(), sum()
  8. Список импортированных модулей в Python
  9. Python OrderedDict и fromkeys() — работа с словарями
  10. Установка библиотек в Python
  11. Необязательные аргументы в Python
  12. Создание GUI с Tkinter: Entry
  13. Retrying в Python: повторные вызовы
  14. Округление чисел с помощью round
  15. Удаление элементов из списка
  16. Удаление файлов и папок в Python
  17. Функциональное программирование в Python
  18. Функции высшего порядка в Python
  19. Разделение строк в Python
  20. Оператор «not» в Python
  21. Тип данных TypeVarTuple
  22. Поиск повторов в списке
  23. Замена элементов в списке с помощью генераторов списков
  24. Атрибуты класса и экземпляра
  25. Solidity для DeFi Ethereum
  26. Цикл for в Python
  27. Работа со словарями
  28. Настройка шрифта и цвета в Tkinter
  29. Enum в Python: создание и использование перечислений
  30. Оформление кода на Python
  31. Генерация ключей RSA
  32. Работа с комбинациями в Python.
  33. Сложные типы данных в Python
  34. Работа с URL-адресами в Python
  35. Итерация по коллекции в Python
  36. Создание именованных кортежей в Python
  37. Работа с срезами в Numpy
  38. Преобразование в float
  39. Декораторы классов
  40. Функция reversed() в Python
  41. Оценка точности модели
  42. Определение объема памяти объекта
  43. Отслеживание выполнения программы с библиотекой tqdm
  44. Импорт модулей в Python 3.12
  45. Передача неизвестных аргументов в Python.
  46. Изменение логики работы с временем
  47. Функции any() и all() в Python
  48. Добавление Progressbar в Python
  49. Конвертация коллекций в Python.

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