О функции поиска совпадений

a = 'dgfdjgkhdfjkghdfkgjhdfkgjhdfg'
b = 'ghj'

def f(b, y):
    b = list(b)
    i = 0
    for each in b:
        if each in y:
            i += 1
    return i 

Если вызвать такую функцию над списком А, то насчитается 3, что очевидно неверно. А почему? Казалось бы, всё логически точно: для каждого члена списка В, если этот член в списке А, подвинуть считывалку. Дополнительно: а как-то же ведь можно посчитать количество совпадений для каждого члена списка В?


Ответы (1 шт):

Автор решения: Danis

Вы просто проверяете наличие символа в строке. Чтобы посчитать количество используйте метод count

def f(b, y):
    b= list(b)
    i=0
    for each in b:
        i += y.count(each)
    return i 
→ Ссылка