Курс 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. Расчет времени выполнения программы
  2. Получение пути к текущему скрипту с помощью os
  3. Справка по импортированным модулям
  4. Создание namedtuple из словаря
  5. Python enumerate() функции
  6. Преобразование типов данных в set comprehension
  7. SciPy: широкий функционал для математических операций
  8. Регулярные выражения в Python
  9. Руководство по библиотеке pydantic
  10. Отправка HTTP-запросов с User-Agent
  11. Создание именованных кортежей в Python
  12. Форматирование заголовков в Python
  13. Декораторы в Python
  14. Оператор «or» в Python
  15. Область видимости переменных в Python
  16. Запрос DELETE с библиотекой requests
  17. Преобразование чисел в Python
  18. Генераторы в Python
  19. Создание даты из строки ISO
  20. Преобразование документов в PDF с помощью Spire.Office
  21. Форматирование строк в Python
  22. Поиск уникальных элементов строкой в Python
  23. Форматирование данных с помощью pprint
  24. Объединение списков в строку
  25. Извлечение данных из JSON
  26. Функция zip() в Python
  27. Метод __iand__ для пользовательских классов
  28. Работа с переменными в Python
  29. Генерация чисел с range()
  30. Оболочка Python
  31. Разделение строки с помощью split()
  32. Класс-оболочка для словарей
  33. Присвоение и ссылки
  34. Аргумент по умолчанию
  35. Официальный канал Python в Telegram
  36. Функция all() в Python
  37. Преобразование Excel в PDF с Spire.XLS
  38. Просмотр атрибутов и методов класса
  39. Bootle — простой веб-фреймворк
  40. Работа с файлами в Python
  41. Особенности множеств в Python
  42. Работа с YAML в Python
  43. Класс Counter() для подсчета элементов
  44. Удаление ссылок в Python
  45. Кортеж в Python: создание, доступ, изменение

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