NikolayBarkalov
@NikolayBarkalov
Web developer

Суть работы метода count в python?

В любой версии Python метод count() вернёт 1 для строки s = "приветпривет" и подстроки sub = "привет". Это связано с тем, что метод count() считает количество непересекающихся вхождений подстроки в строку. В данном случае, поскольку подстроки "привет" перекрываются, метод count() будет учитывать только одно непересекающееся вхождение.
Например:

s = "приветпривет"
sub = "привет"
print(s.count(sub))  # Выведет 1

У меня выводит 2.
Это поведение метода count() сохраняется во всех версиях Python, начиная с Python 3.x и включая Python 3.9 и выше.

Но у меня работает иначе, что в онлайн ide, так и локально. Почему так происходит?
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Вот так будут перекрывающиеся:
s = 'privetprivetprivet'
sub = 'privetprivet'
print(s.count(sub))

и ответ будет 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
В любой версии Python метод count() вернёт 1 для строки s = "приветпривет" и подстроки = "привет".

В данном случае, поскольку подстроки "привет" перекрываются
Взял откуда-то ложные утверждения и теперь на ровном месте мучаешься. Вот написали "перекрываются", ты сам видишь это перекрывание?

Пример перекрытия "мама" и "мамама", некоторые почему-то на этот пример перевозбудились.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы