Как я могу подсчитать, сколько раз данная подстрока присутствует в строке в Python?
Например:
>>> 'foo bar foo'.numberOfOccurrences('foo')
2
Это входит в список всех случаев (также накладывающийся) в строке и считает их
def num_occ(str1, str2):
l1, l2 = len(str1), len(str2)
return len([str1[i:i + l2] for i in range(l1 - l2 + 1) if str1[i:i + l2] == str2])
Пример:
str1 ='abcabcd'
str2 = 'bc'
создаст этот список, но сохранит только ПОЛУЖИРНЫЙ значения:
[ab, до н.э , приблизительно, ab, до н.э , CD]
, который возвратится:
len([bc, bc])