Курс 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
- Работа с argparse
- Метод setitem в Python
- discard() — удаление элемента из множества
- Парсинг статей с Newspaper3k
- Обработка исключений в Python
- Python 3.12: Псевдонимы типов
- Создание файла с проверкой ошибки
- Эффективная конкатенация строк в Python
- Преобразование данных в Python
- Форматирование данных с помощью pprint
- Хэш-функции в Python
- Цикл for в Python
- PUT запрос для обновления данных
- Метод ifloordiv для пользовательских классов
- Ускорение обработки данных с %autoawait
- Функция __init__ в Python
- Копирование объектов в Python
- Управление импортом в Python
- Именование переменных в Python
- Измерение потребления памяти при сортировке
- Объединение итераторов
- Функции map, filter, reduce
- Отслеживание выполнения программы с библиотекой tqdm
- Вывод баннеров
- Использование type hints
- Нан-рефлексивность в Python
- Разделение строки с помощью split()
- Работа с collections в Python
- Многоточие в Python
- Нахождение пересечения множеств
- Изменение регистра данных
- Установка и использование библиотеки google
- Аннотации типов в Python
- Частичное применение функций в Python
- Замена переменных в Python
- Метод remove() для удаления элемента из списка
- Работа с deque в Python
- Создание списков в Python
- Получение текущей даты и времени с помощью datetime
- Отделение звука от видео
- Генерация случайных чисел в Python
- Генераторы в Python
- Философия Python
- Генераторы в Python















