Курс Python → Метод count в Python: почему count(», ») возвращает 4?

Метод count в Python возвращает количество вхождений подстроки в строку. Но почему 'abc'.count('') возвращает 4? Это происходит потому, что метод count считает и пустые подстроки. Таким образом, если подстрока пустая, то она считается в каждой позиции строки.

Давайте рассмотрим пример. У нас есть строка 'abc'. Если мы вызовем метод count(''), то он вернет 4, потому что пустая подстрока может быть найдена в следующих позициях: перед ‘a’, между ‘a’ и ‘b’, между ‘b’ и ‘c’ и после ‘c’.

Для более понятной реализации метода count, мы можем написать свою функцию, которая будет учитывать только непустые подстроки. Например:


def custom_count(s, substr):
    if not substr:
        return 0
    count = 0
    start = 0
    while True:
        start = s.find(substr, start) + 1
        if start == 0:
            break
        count += 1
    return count

Теперь, если мы вызовем custom_count('abc', ''), то получим 0, так как пустая подстрока не учитывается. Это делает метод более понятным и предсказуемым.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Python: отличительная особенность — отступы
  2. Форматирование строк с помощью f-строк
  3. Python Поверхностное Копирование
  4. Применение функции к элементам списка
  5. Преобразование многоуровневого словаря
  6. Операции со строками в Python
  7. Обработка исключений в Python
  8. Избегайте использования goto
  9. Транспонирование 2D-массива с помощью zip
  10. Модуль itertools: комбинации и перестановки
  11. Перемешивание списка с shuffle()
  12. Объединение списков с использованием itertools.chain
  13. Добавление кнопки в tkinter
  14. Карта бомбоубежищ в Москве и Питере
  15. Solidity для DeFi Ethereum
  16. Определение наиболее частого элемента с помощью collections.Counter
  17. OrderedDict — упорядоченный словарь
  18. Управление ресурсами в Python
  19. Функция reversed() в Python
  20. Создание коллекций из генератора
  21. Команда %dhist — список посещенных каталогов
  22. Импорт модулей в Python 3.12
  23. Работа с комплексными числами в Python
  24. Работа с множествами в Python
  25. Метод __getitem__ в Python
  26. Разделение строк в Python
  27. Метод ifloordiv для пользовательских классов
  28. Склеивание строк без циклов
  29. globals и locals
  30. Отправка HTTP-запросов с User-Agent
  31. Управление сессиями в Python
  32. Работа с библиотекой xkcd
  33. Оператор continue в Python
  34. Создание файла с проверкой ошибки
  35. Форматирование строк в Python
  36. Поиск всех индексов подстроки
  37. enumerate() в Python для работы с индексами
  38. Любовь к Python
  39. Изменение переменной в Python: nonlocal
  40. Дефолтные параметры в Python
  41. Модуль array: создание и использование массивов
  42. Отступы в Python
  43. Метод join() для объединения элементов
  44. Синтаксис переменных цикла в Python

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