Курс 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. Измерение времени выполнения кода с помощью time
  3. Работа с датой и временем в Python
  4. Синхронизация доступа к ресурсам
  5. Анонимные функции Lambda
  6. Работа с рекламными данными в Pandas
  7. Создание словаря через dict comprehension
  8. Форматирование строк в Python
  9. Оператор Walrus в Python
  10. Переопределение метода __or__()
  11. Создание обратного итератора
  12. Библиотека Chartify: руководство
  13. Работа с кортежами в Python
  14. Удаление дубликатов в pandas
  15. Форматирование чисел в Python
  16. Преобразование документов в PDF с помощью Spire.Office
  17. Создание GUI с Tkinter: Entry
  18. Colorama: окрашивание текста в Python
  19. Проверка на палиндром
  20. Описание скриптов в README
  21. Вложенные циклы в Python
  22. Извлечение аудио из видео
  23. Преобразование букв в нижний регистр
  24. Атрибуты класса и экземпляра
  25. Форматирование даты с strftime()
  26. Метод Event.wait() в Python
  27. Оценка точности модели
  28. Функция enumerate в Python
  29. Работа с массивами в Python
  30. Округление чисел с помощью round
  31. Проверка элементов списка условием
  32. Замена текста с re.sub()
  33. Обмен значений переменных в Python
  34. Создание OrderedDict
  35. Просмотр файла в Jupyter Noteboo
  36. Преобразование регистра строк
  37. Присвоение и ссылки
  38. Синтаксис переменных цикла в Python
  39. Изменение IP-адреса в Python
  40. Работа с Requests для HTTP-запросов
  41. Автоматизация с Python
  42. Шаблоны Flask: условия и циклы
  43. Изменение регистра данных
  44. Списковое включение в Python

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