Курс 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. Оператор «and» в Python
  3. Тип CodeType в Python.
  4. Порядок операций в Python
  5. Передача аргументов в Python
  6. Область видимости переменных
  7. Добавление цвета в консоли
  8. Создание новых функций с помощью functools.partial
  9. Генерация случайных чисел в Python
  10. inspect в Python: анализ кода
  11. Уникальность ключей в словаре
  12. Вызов внешних программ в Python с помощью sh
  13. Транспонирование 2D-массива с помощью zip
  14. Метод join() для объединения строк
  15. Python Enumerate
  16. Явный импорт в Python
  17. Объединение словарей в Python 3.5+
  18. Работа с Requests для HTTP-запросов
  19. Генераторные функции в Python
  20. Создание тестовых данных с Faker
  21. Библиотека Chartify: руководство
  22. Избегание циклических зависимостей классов в Python
  23. Принципы LSP и ISP в Python
  24. Вывод переменной и строки в Python
  25. Применение функции к списку
  26. Обработка ошибок в Python
  27. Объединение списков в Python
  28. Использование обратной косой черты в f-строках
  29. Выражения-генераторы в Python
  30. Хранение данных
  31. Логирование с Logzero: ротация файла
  32. Проблемы с именами переменных
  33. Функция divmod() в Python
  34. Проверка индексов коллекции
  35. Модуль pprint
  36. Применение функции к списку
  37. Возврат значений из генератора
  38. Оператор is в Python
  39. Карта бомбоубежищ в Москве и Питере
  40. Профилирование данных с Pandas.
  41. Работа с комплексными числами
  42. Сумма элементов списка
  43. Метод rmatmul для пользовательских матриц
  44. Удаление символа из строки
  45. Измерение времени выполнения кода
  46. Замена атрибута в именованном кортеже

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