我有一个可能的事件样本列表:
incident = [
"road", "free", "block", "bumper", "accident","robbery","collapse","fire","police","flood"]
Run Code Online (Sandbox Code Playgroud)
我想检查句子中是否有任何这样的单词.
例如."这座建筑着火了"
这应该返回true,因为列表中有fire并且返回false,否则返回false.
我尝试用这种方法做到这一点:
query = "@user1 @handler2 the building is on fire"
if any(query in s for s in incidentList):
print("yes")
else:
print("no")
Run Code Online (Sandbox Code Playgroud)
但它总是失败,因为它反对何时query = "fire".
编辑
并且在事件包含元素的情况下说:"街头斗争",我希望它返回true,假设查询包含街道或战斗.我该如何解决?
s指事件列表中的每个事件,检查是否s在query:
if any(s in query for s in incidentList):
Run Code Online (Sandbox Code Playgroud)
并且在事件包含元素的情况下说:"街头斗争",我希望它返回true,假设查询包含街道或战斗.我该如何解决?
然后,要么改进incidentList仅包含单个单词,要么还应该s在循环中拆分:
if any(any(item in query for item in s.split()) for s in incidentList):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |