Курс 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. Метод append() для списка
  2. Символ подчеркивания в Python
  3. Основные методы NumPy
  4. Печать календаря
  5. Вложенные циклы в Python
  6. Метод count в Python: почему count(», ») возвращает 4?
  7. Создание словарей и множеств в Python.
  8. Декораторы в Python
  9. Многоточие в Python
  10. Работа с YAML в Python: PyYAML.
  11. Оформление текста в консоли с TermColor
  12. Цепные операции в Python
  13. Python reversed() функция
  14. Любовь к Python
  15. Поиск самого частого элемента
  16. Python itertools combinations() — группировка элементов
  17. Создание уникального множества
  18. Импорт модулей в Python 3.12
  19. Разделение строк в Python
  20. Возврат нескольких значений
  21. Работа с *args и **kwargs в Python
  22. Типы возвращаемых значений в Python
  23. Фильтрация данных в Python.
  24. Регистрация на хакатоне
  25. Цикл for в Python
  26. Изменение логики работы с временем
  27. Генераторы и сеты в Python
  28. Автоматизация скриптов на AWS Lightsail.
  29. Декоратор @override
  30. Операторы присваивания в Python
  31. Форматирование кода на Python
  32. Сравнение def и lambda в Python
  33. Создание веб-приложения с Flask
  34. Шаблоны Flask: условия и циклы
  35. Извлечение аудио из видео
  36. Работа со строками в Python.
  37. Определение основы слова с showballstemmer
  38. Получение комбинаций в Python
  39. Методы обработки строк в Python
  40. Сортировка HTML по CSS-селектору
  41. Создание копии списка в Python
  42. Проверка строки на палиндром
  43. Функция divmod() в Python
  44. Переменная с нижним подчеркиванием

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