Курс 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. Функция enumerate в Python
  3. Библиотека wikipedia для Python
  4. Метод lt для сортировки объектов
  5. Структуры данных в Python
  6. Преобразование в float
  7. Создание панели меню Tkinter
  8. Определение индекса элемента списка
  9. Декоратор для группы пользователей в Django
  10. Поиск кода
  11. Оператор walrus в Python
  12. Объединение списков в Python
  13. Запуск внешнего кода в Jupyter
  14. Очистка данных с Pandas
  15. Структура строк в Python
  16. Сравнение def и lambda функций в Python
  17. CSV строка разделение в Python
  18. Применение функции к элементам списка
  19. Метод join() для объединения элементов строки
  20. Работа с датой и временем в Python
  21. Функция pow() — возвести число в степень
  22. Декораторы в Python
  23. Создание новых списков через list comprehensions
  24. Подсчет вхождений элементов
  25. Генерация резюме в Gensim
  26. Сортировка с параметром key
  27. Форматирование строк в Python
  28. Именованные срезы в Python
  29. Установка и использование pyshorteners
  30. Повторение элементов в Python
  31. Python OrderedDict и fromkeys() — работа с словарями
  32. Создание даты из строки ISO
  33. Сумма элементов списка
  34. Python Ellipsis использование
  35. Оптимизация поиска в словарях
  36. Проверка элементов списка условием
  37. Лямбда-функции в defaultdict
  38. Метод округления чисел
  39. Передача параметров в Python
  40. Работа с f-строками 2.0
  41. Ограничение итераций в Python
  42. Копирование в Python
  43. globals и locals
  44. Принципы программирования
  45. Условное добавление элементов в список
  46. Работа с очередями в Python
  47. Строковое представление объектов
  48. capitalize() — изменение регистра первого символа строки
  49. Работа со строками в Python.

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