Si votre dictionnaire est très volumineux et que vous vous attendez à ce que plusieurs de vos chèques ne trouvent pas de correspondance, vous pouvez envisager un Bloom filter ou un de ses dérivés et autoriser les faux positifs. Alternativement, parce que vos clés peuvent être triées (et/ou avoir des valeurs dérivées), vous pouvez implémenter un bisection ou un autre algorithme . Premièrement, je déterminerais exactement comment Python implémente les recherches dans les dictionnaires, donc vous n'allez pas seulement réinventer la roue.
En outre, une implémentation pure de Python pourrait être assez lente si elle implique beaucoup d'itérations. Considérez Cython, Numpy ou F2Py pour être vraiment optimisé. (Si vous ne traitez que des noms de pays, je ne pense pas que vous ayez affaire à des mappages assez importants pour justifier mes suggestions), mais si vous envisagez d'effectuer une sorte de vérification orthographique, alors ..
Bonne chance.
Les grands dicts sont rapides. –