我試圖通過使用第一,第二和最後一個名稱來匹配名稱,或者以正確的順序或不使用所有這些名稱。到目前爲止,我已經得到了這個代碼,它有點作品,但我認爲這不是正確的做法。你知道另一種做法嗎?Pythonic的方式來匹配一個字符串,如果包含在一組字符串中
數據的名稱設置是這樣的:
name = 'DAVID SCOTT MUSTAIN'
我要的是,如果我搜索以匹配名稱,'MUSTAIN SCOTT'
,'SCOTT DAVID'
等。 功能我至今長相像這樣:
def search_name(somename):
for full_name in some_dataset:
if set(somename.upper().split()).issubset(full_name.split()):
print('match:', full_name)
如果我輸入類似'DAV'
或'SCOT'
,這將不匹配任何東西。即使姓名不完整,我應該如何繼續進行比賽?如果我將 這些名字分成單個字母,它會將每個名字與這些字母匹配,而不檢查字母的順序。
聽起來像一個[後綴樹](https://en.wikipedia.org/wiki/Suffix_tree)可能會讓你感興趣。 – skrx