基本上我希望有人给我一个关于python代码如何工作的简单概述。非常感谢
vari:
kw1 = ['keyword1', 'keyword2']
problem = input("Detect keywords from list\n")
主要:
if set(kw1).intersection(problem.split()):
print(" Kw found. ")
else:
print(" Keywords not found. ")
答案 0 :(得分:3)
那里有很多东西。
首先,当你致电input
时,你要求用户给你一个输入字符串。
当你对它使用split()
时,你可以通过基于空格分隔输入字符串将其转换为字符串列表,以便"bla bli blo".split()
为你提供["bla","bli","blo"]
。
然后,当您致电set(my_list)
时,它会将my_list
转换为集,这是一个没有任何重复项的数学结构,它会响应像这样的运算符联合,交叉点等等。
最后,当您将您的集合(通过拆分用户输入)与关键字列表进行比较时,如果没有匹配项(因此列表中没有任何关键字直接在用户输入中显示),那么它将给出您是一个空集,if
将被视为 false 。因此if set(["bla","bli","blo"]).intersection(["blu"])
不会激活,但if set(["bla","bli","blo"]).intersection(["blu","blo"])
会激活,因为它不是空集。
请注意,如果要识别单词中的关键字,此方法将无效。例如,如果您要查找关键字kw1=['car','truck','bike']
而用户输入cars trucks bikes
,则不会识别任何关键字,因为split()
将沿空格分割,为您提供{{ 1}}和['cars','trucks','bikes']
...