Курс 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"
- Оператор is в Python
- Оператор умножения для вектора
- Получение ID текущего процесса
- Получение срезов итераторов
- Извлечение аудио из видео
- Закрытие файла в Python
- Python union() функция — объединение множеств
- Проверка существования переменной с оператором :=
- Игра «Угадывание чисел»
- Возврат нескольких значений
- Функции all() и any() в Python
- Python и Юникод: работа с цифрами
- Обработка исключений в Python
- Функция с *args.
- ChainMap избыточные ключи
- Операции с датами в Python
- Работа с географическими данными.
- Списковое включение в Python
- Удаление символа из строки
- Освоение Python
- Работа со словарями
- Итерация по итерируемым объектам
- Прокачанный трейсинг ошибок
- Модуль functools в Python
- Копирование и вставка текста в Python
- Работа с deque из collections
- Получение размера объекта с sys.getsizeof()
- Метод join() для объединения элементов строки
- Работа с пакетами
- Python: динамическая типизация и проверка типов
- Функции map, filter, reduce
- Конвертация текстовых чисел с помощью Numerizer
- Оператор «моржа» (Walrus Operator)
- Изменение списка срезом
- Безопасные SQL-запросы в Python 3.11
- Метод setdefault() в Python
- Создание и инициализация объектов
- Работа с CSV в Python
- Модуль os в Python: работа с файлами
- Получение комбинаций в Python
- Изменения в обработке логических значений
- Отправка POST-запроса в REST API
- Concrete Paths в Python
- Инвертирование словаря
- Счетчик ссылок в Python
- Многострочные комментарии в Python















