Курс 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. Работа с IP-адресами в Python
  2. Удаление дубликатов из списка
  3. Упрощенный вывод данных в Python
  4. Работа с deque в Python
  5. Запуск внешних программ с subprocess
  6. Метод join() для объединения элементов строки
  7. Фильтрация входных данных в Python
  8. Виртуальное окружение Python
  9. Ошибка NotImplemented в Python
  10. Работа с буфером обмена на Python
  11. Функция zip() в Python
  12. Работа с часовыми поясами в Python
  13. Получение комбинаций в Python
  14. Профилирование кода
  15. Замена текста с помощью sub
  16. Проверка запуска скрипта или импорта модуля
  17. Импорт в Python: список all
  18. Оформление кода по PEP 8
  19. Создание даты из строки ISO
  20. Измерение времени выполнения кода
  21. Преобразование числа в восьмеричную строку
  22. Объединение кортежей в Python
  23. Оформление текста в консоли с TermColor
  24. Замена символов в Python
  25. Красивый вывод списка
  26. Обработка ошибок ввода данных
  27. Сортировка в Python
  28. Работа с коллекциями Python
  29. Python union() функция — объединение множеств
  30. Модуль antigravity: генерация координат
  31. Получение текущего времени в Python
  32. Нахождение отличий в списках
  33. Генераторы списков
  34. Форматирование чисел в Python
  35. Вычисление натурального логарифма в NumPy
  36. Функция format() в Python
  37. Декоратор проверки активности
  38. Создание копии списка в Python
  39. Создание словарей с defaultdict()
  40. Метод join() для объединения элементов в строку.
  41. Создание графиков в терминале
  42. Множества и frozenset
  43. Настройка нарезки списков
  44. Округление дробей в Python

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