Курс 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. Магические методы в Python
  3. Замена текста с помощью sub
  4. Подсказки при вводе данных в Python
  5. Подписка на Kaspersky Team
  6. Операторы увеличения и уменьшения переменной
  7. Перевод эмодзи и эмотиконов.
  8. Выборка чисел
  9. Ошибка NotImplemented в Python
  10. Перетасовка списков в Python
  11. Оператор continue в Python
  12. Модуль inspect
  13. Enum в Python
  14. Взаимодействие с внешними процессами в Python
  15. Работа с модулем Calendar
  16. Обратное распространение ошибки
  17. Модуль subprocess: запуск внешних команд
  18. Работа с timedelta в Python
  19. Многопроцессорное программирование в Python
  20. Метод ifloordiv для пользовательских классов
  21. Извлечение аудио из видео
  22. Numpy: использование Ellipsis
  23. Манипуляция формой массива в Numpy
  24. Перехват исключений в Python
  25. Любовь к Python
  26. Python Поверхностное Копирование
  27. Метод __ixor__ для побитового исключающего ИЛИ
  28. Определение объема памяти объекта
  29. Константы в модуле cmath
  30. Таймер обратного отсчета
  31. Пропуск начальных строк с помощью dropwhile()
  32. Управление пакетами с pip
  33. Преобразование PowerPoint в PDF.
  34. Defaultdict в Python
  35. Создание GUI на Tkinter
  36. Декораторы в Python
  37. Создание задания в Cron
  38. Метод enumerate() в Python
  39. Преобразование числа в список цифр
  40. Итерации в Python
  41. Резервирование символов в Python
  42. Объединение списков в строку
  43. Функция zip() — объединение последовательностей
  44. Генератор списка в Python
  45. Очистка строки в Python
  46. Генерация чисел с range()
  47. Локальные переменные.
  48. Группировка элементов Python

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