Как подсчитать количество экземпляров подстроки в элементах списка в Python? - PullRequest
0 голосов
/ 20 октября 2019

Эта программа создает список из пользовательского ввода. Затем пользователь вводит подстроку для поиска в списке. Я хочу посчитать случаи, когда подстрока появляется в списке. Например: input_list = [python treeree free free]. search_str = 'ree'. Всего должно быть 4.

Я пробовал это с помощью функции sum (), которая получила правильный результат, но мне нужно разобрать список слов для домашнего задания.

total = 0
input_list = input('Type a list of words separated by a space: ')
search_str = str(input('Type a string to search for: '))
input_list = input_list.lower().split()
for x in input_list:
    if search_str in x:
        total = total + 1
print(search_str,": ",total)

Код выполняется, но вместо подсчета общего количества появлений строки (т. Е. 4) он учитывает только количество элементов, в которых она появляется (т. Е. 3).

1 Ответ

0 голосов
/ 20 октября 2019

Если вам разрешено использовать count, вы можете заменить:

if search_str in x:
    total = total + 1

на:

total += x.count(search_str)

, который будет считать все экземпляры search_str в x, давая ожидаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...