Курс 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. Подписка на каналы разработчиков
  2. Исправление ошибки NameError
  3. Подсчет элементов с помощью Counter
  4. Проверка надежности пароля на Python
  5. Извлечение аудио из видео
  6. Функция print() — вывод информации
  7. Метод rrshift для пользовательских объектов
  8. Работа со временем в Python
  9. Проверка строки на палиндром
  10. JSON в Python: модуль, dump, dumps, load
  11. Dict Comprehension в Python
  12. Удаление элементов из списка
  13. Область видимости переменных
  14. Импорт модулей в Python 3.12
  15. Нахождение самого длинного слова в списке с помощью max
  16. Работа с рекламными данными в Pandas
  17. Итераторы с потерямиZIP
  18. Работа с изменяемыми списками
  19. Генераторы и сеты в Python
  20. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  21. Бинарный поиск
  22. Удаление символов новой строки в Python.
  23. PUT запрос для обновления данных
  24. Частичное применение функций в Python
  25. Удаление элемента по индексу
  26. Управление пакетами с pip
  27. Расчет времени выполнения программы
  28. Метод clear для коллекций
  29. Оператор деления для класса Rational
  30. Декораторы в Python
  31. Печать календаря
  32. Хеширование паролей с использованием salt
  33. Извлечение новостей с newspaper3k
  34. Создание задания в Cron
  35. Обмен значений переменных в Python
  36. Работа с модулем glob в Python
  37. Работа с датой и временем в Python
  38. globals и locals
  39. Работа с collections в Python.
  40. Транспонирование 2D-массива с помощью zip
  41. Поиск подстроки в строке
  42. Метод title() в Python
  43. Списки в Python: основы
  44. Многопоточность в Python
  45. Декоратор Ajax required

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