Курс 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. Работа с срезами в Numpy
  2. Установка random seed в Python
  3. Метод __complex__ в Python
  4. Декоратор для группы пользователей в Django
  5. Создание копии итератора
  6. Работа со словарями в Python
  7. Извлечение чисел из текста
  8. Форматирование чисел в Python
  9. Разделение строки на пары ключ-значение.
  10. Python defaultdict добавление ключа
  11. Преобразование типов данных в set comprehension
  12. Основы работы с базами данных в Python
  13. Docstring в Python
  14. Транспонирование матрицы
  15. Списковое включение в Python
  16. Colorama: окрашивание текста в Python
  17. Проверка однородности элементов списка
  18. Принцип одной функции
  19. Копирование списков в Python
  20. Итерация по коллекции в Python
  21. Применение команды break
  22. Поиск email
  23. Python itertools combinations() — группировка элементов
  24. Сортировка в Python
  25. Оператор обр. импликации
  26. Аннотации типов в Python
  27. Конкатенация строк в Python
  28. Избегайте ошибку FileNotFoundError
  29. Функция product() в Python
  30. Получение срезов итераторов
  31. Сглаживание списка
  32. Закрытие файла в Python
  33. Метод join() для объединения элементов строки
  34. Генерация QR-кодов с библиотекой qrcode
  35. Функции высшего порядка в Python
  36. Избегание изменяемых аргументов
  37. Объявление переменных в Python
  38. Работа с модулем random
  39. Python 3.12: переиспользование кавычек
  40. Работа с кортежами в Python
  41. Работа со стеком в Python
  42. Генераторы в Python
  43. Объединение списков в Python
  44. Математические функции в Python
  45. Объединение кортежей в Python
  46. Замена символов в строке
  47. Сравнение неупорядоченных списков
  48. Регистрация на курсы SF Education
  49. Метод округления чисел

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