Курс 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. Оператор Walrus в Python 3.8
  2. Тестирование функции сложения
  3. Определение имен функций
  4. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  5. Функции высшего порядка в Python
  6. Метод index() в Python
  7. Отладка кода
  8. Обработка ошибок в Python
  9. Метод repr() в Python
  10. Создание новых списков через list comprehensions
  11. Функция print() — вывод информации
  12. Создание вложенного генератора
  13. Создание таблиц в терминале с PrettyTable
  14. Генераторы списков в Python
  15. Метод __ilshift__ для битового сдвига влево
  16. Управление импортом в Python
  17. Профилирование кода
  18. Тип данных TypeVarTuple
  19. Разделение строки с помощью re.split()
  20. Пространство имен в Python
  21. Склеивание строк без циклов
  22. Заказ карты Тинькофф Black
  23. Разделение строки с регулярными выражениями
  24. Сортировка с помощью параметра key
  25. Округление дробей в Python
  26. Numpy: разбиение массивов
  27. Форматирование вывода с F-строками
  28. Оператор in в Python
  29. Модуль antigravity: генерация координат
  30. Создание словаря с значением по умолчанию
  31. Генератор данных в Keras
  32. Расчет времени выполнения программы
  33. Регистрация на TenChat
  34. Проверка элементов списка условием
  35. Наиболее частотные элементы с помощью Counter
  36. Итераторы в Python
  37. Создание словарей с defaultdict()
  38. Работа с часовыми поясами в Python.
  39. Метод lt для сортировки объектов
  40. Метод splitlines() для разделения строк
  41. Выражения-генераторы в Python
  42. PEP-401: оператор
  43. Константы в модуле cmath
  44. Оформление кода на Python
  45. Отладка в Python
  46. Работа с атрибутом dict
  47. Метод lt для сортировки объектов

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