Курс 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"
- Лямбда-функции в Python
- Переменная с нижним подчеркиванием
- Переворот строки
- Получение текущего времени в Python
- Переворот списка в Python
- Отделение звука от видео
- Работа с путями в Python
- List Comprehension Tutorial
- Форматирование строк в Python
- Асинхронное программирование с asyncio
- Логирование в Python
- Работа с модулем cmath
- Печать списка с помощью метода join
- Принципы SRP и OCP
- Асинхронное выполнение задач в процессах
- Декораторы в Python
- Многострочные строки в Python
- Участие в сообществе @selectel
- Возврат нескольких значений из функции
- Создание namedtuple списком полей
- Блок try…finally в Python
- Оптимизация сравнения в Python
- Замена подстроки
- Замена элементов в списке с помощью генераторов списков
- Цикл for в Python
- Передача аргументов через **arguments
- Сортировка данных с лямбда-функциями
- Тестирование времени с Freezegun
- Функция pow() — возвести число в степень
- Подсчет элементов в списке с Counter
- Аннотации типов в Python
- Безопасный доступ к значениям словаря
- Работа с функцией next() в Python
- Декораторы в Python
- Работа со словарями Python
- Retrying в Python: повторные вызовы
- Удаление дубликатов из списка с помощью dict.fromkeys
- Преобразование чисел в Python
- Математические функции в Python
- Mad Libs Generator
- Множественное назначение в Python
- Модуль pprint
- Настройка вывода NumPy
- Преобразование чисел в слова
- Упрощенный вывод данных в Python
- Поиск простых чисел
- Разбиение строки в Python















