【发布时间】:2021-03-30 23:10:14
【问题描述】:
我正在尝试在两个列表中找到几乎匹配的字符串。假设有如下两个列表
string_list_1 = ['apple_from_2018','samsung_from_2017','htc_from_2015','nokia_from_2010','moto_from_2019','lenovo_decommision_2017']
string_list_2 =
['apple_from_2020','samsung_from_2021','htc_from_2015','lenovo_decommision_2017']
Output
Similar = ['apple_from_2018','samsung_from_2017','htc_from_2015','lenovo_decommision_2017']
Not Similar =['nokia_from_2010','moto_from_2019']
我使用下面的实现尝试了上面的一个,但它没有给出正确的结果
similar = []
not_similar = []
for item1 in string_list_1:
for item2 in string_list_2:
if SequenceMatcher(a=item1,b=item2).ratio() > 0.90:
similar.append(item1)
else:
not_similar.append(item1)
当我尝试上述实现时,它并不像预期的那样。如果有人可以识别缺失的部分并获得所需的结果,将不胜感激
【问题讨论】:
-
你想找出两个字符串列表之间的相似词和不同词吗?
-
@TanishqVyas 是的,我需要几乎相似的字符串应该有 90% 匹配
-
以上代码工作正常,因为它们中的大多数不匹配 90% 匹配
-
你想在匹配的时候排除部分年份,那么它是可能的。
-
这能回答你的问题吗? How to find list intersection?
标签: python-3.x list list-comparison