Курс 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. Генераторы данных
  3. Извлечение аудио из видео
  4. Установка библиотек в Python
  5. Python: Фильтрация списков с помощью filter()
  6. Анализ текста на русском языке с помощью Pymystem3
  7. Переопределение метода __and__
  8. Расчет времени выполнения кода
  9. Определение объема памяти объекта
  10. Потоковый ввод в Python
  11. Работа со словарями Python
  12. Python и Юникод: работа с цифрами
  13. Форматирование строк в Python
  14. Работа с файловой системой в Python
  15. Создание класса в Python
  16. Нарезка списков в Python
  17. Конкатенация строковых литералов
  18. Быстрый поиск кода
  19. Чтение бинарного файла в Python.
  20. Использование super() в Python
  21. UserList в Python: Описание и примеры использования
  22. Работа с Colorama
  23. Обработка ошибок в Python
  24. Построение графиков в терминале с bashplotlib
  25. Перевод двоичного кода в целое число
  26. Обязательные аргументы в Python
  27. Блок else в Python
  28. Определение объема памяти объекта
  29. Именование столбцов в Python с pandas
  30. Подсчет элементов с помощью Counter из collections
  31. Генераторы в Python
  32. Конкатенация строк с методом join()
  33. Получение имени функции с помощью inspect
  34. Установка пакетов с помощью pip
  35. Методы HTTP запросов в Flask
  36. Установка виртуального окружения Python
  37. Функция print() — вывод информации
  38. Пустой оператор pass в Python
  39. Возврат нескольких значений
  40. Работа со словарями с defaultdict из collections
  41. Создание словаря и множества
  42. Python 3.12: Псевдонимы типов
  43. Применение функции map() в Python
  44. Частичное совпадение пользовательского ввода в Python 3.10
  45. Определение функций с необязательными аргументами
  46. Оптимизация интернирования строк
  47. Работа со стеком в Python

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