用单词列表计算列表中的特定单词

时间:2019-02-23 19:37:38

标签: python python-3.x list count typeerror

在构建网络搜寻器时,我遇到了以下问题:

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)

列表“ KEYWORD”以与相应列表“ TNOK_TEMP”相同的顺序包含各种关键字。

我想要做的是使用关键字列表来计算str列表中的关键字。

有什么更好的方法可以提供?

1 个答案:

答案 0 :(得分:1)

keywords是一个列表,STR.count()接受一个字符串。如果keywords是字符串列表,则可以插入另一个for循环

for keyword in keywords:
    # count

否则,如果您不知道其中包含什么,请展平列表,然后遍历所有项目,将.count()包裹在try-except块中

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

请注意,您可以将整体逻辑简化为类似

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

-解决了liststr的问题之后。