如果字符串中的一個單詞與另一個字符串中的單詞相同,但僅當整個單詞匹配而不是單個字母或部分匹配時,我希望我的程序返回 True。這是我的意思的一個例子......a = "hi please help"b = "help anyone"if any(a.split()) == any(b.split()): print("True")這暫時有效,但如果我把 a 換成其他東西......a = "h"b = "help"if any(a.split()) == any(b.split()): print("True")它仍然打印“True”,這不是我的意圖。我確實查看了與此類似的其他線程,但我找不到任何解決部分不被接受的問題的方法,但整個字符串不必是子字符串。
3 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
嘗試這個:
set_a = set(a.split()) any(w in set_a for w in b.split())
這將評估True
是否有任何單詞w
fromb.split()
位于 中set_a
,其中set_a
是由 組成的一組單詞a.split()
。
這應該比執行集合交集更快,因為 (1) 它只為其中一個分割字符串創建一個集合,(2) 一旦找到匹配項,它就會停止搜索,并且 (3) 它不會創建集合為交集結果。
添加回答
舉報
0/150
提交
取消