Курс 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"
- Сравнение def и lambda в Python
- Преобразование объекта в строку
- split() без разделителя
- Работа со строками в Python
- Работа с изображениями Pillow
- Основы работы со строками в Python
- Обработка исключений в Python 3
- TypedDict для kwargs в Python 3.12
- Имена объектов в Python
- Создание таблиц в терминале с PrettyTable
- Получение комбинаций в Python
- Функция reduce() в Python
- Атрибуты объекта в Python
- Срез списка в Python
- Замена символов в строке
- Динамическая типизация в Python
- Изменения в обработке логических значений
- Antigravity модуль
- Оператор in для Python
- Фильтрация входных данных в Python
- Цикл for в Python
- Декораторы в Python
- Лямбда-функции в Python
- Декораторы в Python
- Повторение и перенос строки
- Метод append() для списка
- Атрибуты класса и экземпляра в Python
- Работа с модулем cmath
- Метод __int__ в Python
- Нахождение отличий в списках
- Подчеркивание в REPL
- Конкатенация строк в Python
- Импорт и использование модулей в Python
- Модуль xkcd: загрузка комиксов
- Работа с аргументами командной строки в Python
- Оператор «not» в Python
- Бесконечные списки в Python
- Цикл while в Python
- discard() — удаление элемента из множества
- Функция divmod() в Python
- Получение имени функции с помощью inspect
- Проверка надежности пароля на Python
- Оператор assert в Python
- Извлечение новостей с newspaper3k
- Метод join() для объединения элементов строки















