Подсчет конкретных слов в списке со списком слов - PullRequest
0 голосов
/ 23 февраля 2019

Когда я создавал свой веб-сканер, я столкнулся с этой проблемой:

TypeError: must be str, not list
----> 3         count_K = STR.count(keywords)

Вот текущий код:

TNOK_TEMP.append(soup.select('#tbody')[0].get_text())
for STR in TNOK_TEMP:
    for keywords in KEYWORD:
        count_K = STR.count(keywords)
    The_Number_of_Keyword.append(count_K)

список "КЛЮЧЕВОЕ СЛОВО" включает в себя различные ключевые слова в том же порядкекак соответствующий список "TNOK_TEMP".

Что я хочу сделать, это использовать список ключевых слов для подсчета ключевых слов из списка строк.

Любые лучшие способы, которые вы можете предложить?

1 Ответ

0 голосов
/ 24 февраля 2019

keywords - это список, STR.count() принимает строку.Если keywords - это список строк, вы можете вставить еще один цикл for

for keyword in keywords:
    # count

, в противном случае, если вы не знаете, что в нем содержится, выровняйте список, а затем переберите все элементы, оборачивая.count() в блоке, исключающем попытки

for keywords in flattened_KEYWORDS:
    try:
         # count
    except: pass

Обратите внимание, что вы можете упростить свою общую логику до чего-то вроде

sum(STR.count(keyword) for keyword in KEYWORDS)

- после исправления list в strвопросы.

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