Я хотел бы сравнить элементы из двух списков (см. Ниже). Я ищу сходство в предметах. Например, у меня есть этот предмет из b_list
:
http://www.ilcorrieredellanotte.it
, который похож на Corriere della Sera
из g_list
. Ожидаемый результат будет:
(ilcorrieredellanotte, corrieredellasera) = (score of similarity)
Также: https://www.ilmattoquotidiano.it, http://www.ilfattoquotidaino.it
и https://ilquotidaino.wordpress.com
из b_list
аналогичны il fatto quotidiano
из g_list
. Примером вывода может быть:
(ilmattoquotidiano, ilfattoquotidiano) = 90
(они должны отличаться только для 'c'
) (ilfattoquotidaino, ilfattoquotidiano) = 95
(они отличаются только для гласной, которая переключается с другой)
(ilquotidaino, ilfattoquotidiano) =60
(отсутствует 'fatto
')
(оценки 90, 95, 60 используются только в качестве примера)
Я думал об использовании
Ratios = [process.extract(x,g_list) for x in b_list]
result = list()
for ratio in Ratios:
for match in ratio:
if match[1] !=100:
result.append(match)
break
, но вывод дает мне что-то другое (например, он не включен "Il fatto quotidiano"
из списка). Я думаю, это потому, что я сравниваю список URL со словами, разделенными пробелами, а также с учетом регистра. Любое предложение будет с благодарностью. Спасибо
Списки:
b_list =["http://notiziepericolose.blogspot.com","http://www.ilcorrieredellanotte.it","https://www.ilmattoquotidiano.it","http://ioco.altervista.org/blog/","http://www.ilmessaggio.it","http://www.ilcorriere.cloud","http://www.ilfattoquotidaino.it","https://ilquotidaino.wordpress.com","http://www.liberogiornale.com", ]
b_list=[re.sub(r"https?://(www\.)?", r'', a) for a in black_list]
g_list=["Corriere della Sera","la Repubblica","La Gazzetta dello Sport","Corriere dello Sport-Stadio","Italia Oggi","il Giornale","Tuttosport","il Fatto Quotidiano","Il Mattino","Libero","Leggo"]
g_list =[x.lower() for x in g_list]