Курс 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
- Оператор «and» в Python
- Тип CodeType в Python.
- Порядок операций в Python
- Передача аргументов в Python
- Область видимости переменных
- Добавление цвета в консоли
- Создание новых функций с помощью functools.partial
- Генерация случайных чисел в Python
- inspect в Python: анализ кода
- Уникальность ключей в словаре
- Вызов внешних программ в Python с помощью sh
- Транспонирование 2D-массива с помощью zip
- Метод join() для объединения строк
- Python Enumerate
- Явный импорт в Python
- Объединение словарей в Python 3.5+
- Работа с Requests для HTTP-запросов
- Генераторные функции в Python
- Создание тестовых данных с Faker
- Библиотека Chartify: руководство
- Избегание циклических зависимостей классов в Python
- Принципы LSP и ISP в Python
- Вывод переменной и строки в Python
- Применение функции к списку
- Обработка ошибок в Python
- Объединение списков в Python
- Использование обратной косой черты в f-строках
- Выражения-генераторы в Python
- Хранение данных
- Логирование с Logzero: ротация файла
- Проблемы с именами переменных
- Функция divmod() в Python
- Проверка индексов коллекции
- Модуль pprint
- Применение функции к списку
- Возврат значений из генератора
- Оператор is в Python
- Карта бомбоубежищ в Москве и Питере
- Профилирование данных с Pandas.
- Работа с комплексными числами
- Сумма элементов списка
- Метод rmatmul для пользовательских матриц
- Удаление символа из строки
- Измерение времени выполнения кода
- Замена атрибута в именованном кортеже















