Miguel Brito
Great Miguel, thank you!
I find with a friend this function, using the levenshtein distance:
ListEtats = ['Birmanie', 'Biélorussie', 'Bolivie', 'Brunei', 'Burkina', 'Bélize', 'Cap-Vert', 'Centrafrique', 'Chine', 'Corée du Nord', 'Corée du Sud', 'Guatémala', 'Guinée Bissao', 'Irak', 'Iran', 'Kirghizstan', 'Kosovo', 'Kénya', 'Laos', 'Liechtenstein', 'Lésotho', 'Micronésie', 'Moldavie', 'Monaco', 'Niue', 'Royaume-Uni', 'Russie', 'Saint-Christophe et Niévès', 'Saint Marin', 'Saint Vincent et les Grenadines', 'Salomon', 'Salvador', 'Syrie', 'Tanzanie', 'Timor oriental', 'Vatican', 'Vietnam', 'Vénézuéla', 'Zimbabwé', 'États Unis']
ListZones = ['Belize', 'Bermudes', 'Bolivie État plurinational de', 'Brunéi Darussalam', 'Burkina Faso', 'Bélarus', 'Cabo Verde', 'Chine RAS de Hong Kong', 'Chine RAS de Macao', 'Chine Taiwan Province de', 'Chine continentale', 'El Salvador', 'Fédération de Russie', 'Groenland', 'Guatemala', 'Guinée Bissau', 'Iran République islamique d', 'Iraq', 'Kenya', 'Kirghizistan', 'Lesotho', 'Micronésie États fédérés de', 'Myanmar', 'Nioué', 'Nouvelle Calédonie', 'Palestine', 'Polynésie française', 'Porto Rico', 'Royaume Uni de Grande-Bretagne et d Irlande du Nord', 'République arabe syrienne', 'République centrafricaine', 'République de Corée', 'République de Moldova', 'République démocratique populaire lao', 'République populaire démocratique de Corée', 'République Unie de Tanzanie', 'Saint Kitts et Nevis', 'Saint Vincent et les Grenadines', 'Samoa américaines', 'Timor Leste', 'Tokélaou', 'Venezuela République bolivarienne du', 'Viet Nam', 'Zimbabwe', 'États Unis d Amérique', 'Îles Salomon']
import jellyfish
def compareList(list1, list2):
dict = {}
for item1 in list1:
for item2 in list2:
current_leven = jellyfish.jaro_distance(item1, item2)
if item1 not in dict or current_leven > jellyfish.jaro_distance(item1, dict[item1][0]):
dict[item1] = (item2, current_leven)
return dict
compareList(ListEtats, ListZones)
This is good but i think i need to optimise this one by applying your method in a second argument.
Thank you again for your help!