3
我正在嘗試difflib庫。我有兩個列表:包含字符串的L_1和L_2。我想知道,如果這些序列是相似的(順序不重要)。通過difflib比較python中的列表modul
L_1 = ["Bob", "Mary", "Hans"]
L_2 = ["Bob", "Marie", "Háns"]
應該沒問題。但是
L_1 = ["Nirdosch", "Mary", "Rolf"]
L_2 = ["Bob", "Marie", "Háns"]
應該沒問題。
我想出了遍歷第一個列表L_1的理念和方法
difflib.get_close_matches()
針對第二列表L_2至L_1的每一個元素相匹配。如果有一個比例較大的比賽,比方說0.7將它從L_2中移除並繼續。但我懷疑這是一個很好的計劃。有更好的嗎?
很好的解決方案 - 不過,我想一般的實現基於Levenshtein距離我自己的比較。 – 2011-03-30 17:06:13
我以爲difflib在引擎蓋下使用了Levenshtein – fabrizioM 2011-03-30 17:13:10
首先:感謝您的回答!我讀了intern(),但我沒有真正明白它的意思。你會如此善良,給我一個提示嗎? – Aufwind 2011-03-30 17:31:27