Курс 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"
- Работа с срезами в Numpy
- Установка random seed в Python
- Метод __complex__ в Python
- Декоратор для группы пользователей в Django
- Создание копии итератора
- Работа со словарями в Python
- Извлечение чисел из текста
- Форматирование чисел в Python
- Разделение строки на пары ключ-значение.
- Python defaultdict добавление ключа
- Преобразование типов данных в set comprehension
- Основы работы с базами данных в Python
- Docstring в Python
- Транспонирование матрицы
- Списковое включение в Python
- Colorama: окрашивание текста в Python
- Проверка однородности элементов списка
- Принцип одной функции
- Копирование списков в Python
- Итерация по коллекции в Python
- Применение команды break
- Поиск email
- Python itertools combinations() — группировка элементов
- Сортировка в Python
- Оператор обр. импликации
- Аннотации типов в Python
- Конкатенация строк в Python
- Избегайте ошибку FileNotFoundError
- Функция product() в Python
- Получение срезов итераторов
- Сглаживание списка
- Закрытие файла в Python
- Метод join() для объединения элементов строки
- Генерация QR-кодов с библиотекой qrcode
- Функции высшего порядка в Python
- Избегание изменяемых аргументов
- Объявление переменных в Python
- Работа с модулем random
- Python 3.12: переиспользование кавычек
- Работа с кортежами в Python
- Работа со стеком в Python
- Генераторы в Python
- Объединение списков в Python
- Математические функции в Python
- Объединение кортежей в Python
- Замена символов в строке
- Сравнение неупорядоченных списков
- Регистрация на курсы SF Education
- Метод округления чисел















