什麼是比較兩個列表最有效的方法,並且只保留列表A中的元素,但對於非常大的數據集只保留列表中的元素?性能:在python中比較兩個列表中的字符串匹配
例子:
words = ['shoe brand', 'car brand', 'smoothies for everyone', ...]
filters = ['brand', ...]
# Matching function
results = ['smoothies for everyone']
已經有somewhat similar questions但我目前正在處理超過100萬字和過濾器,從而導致正則表達式重載。我曾經做過一個簡單的過濾[我]用while循環測試[j]',但這看起來非常低效。
使用'set()',查找會更快。 –
你說*看起來效率低下,但*是*它呢?如果是這樣,可以通過使用散列函數避免爲* all *條目匹配正則表達式 - 只比較其匹配的散列條目。 –
@BurhanKhalid:Set不檢查字符串是否包含,他們只是爲了完全匹配,請參閱示例 – oliver13