在构建网络搜寻器时,我遇到了以下问题:
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列表中的关键字。
有什么更好的方法可以提供?
答案 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)
-解决了list
至str
的问题之后。