Outils pour utilisateurs

Outils du site


tris_dictionnaire_francais

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tris_dictionnaire_francais [2011/09/16 06:50]
tyrtamos
tris_dictionnaire_francais [2012/02/28 09:45] (Version actuelle)
tyrtamos
Ligne 1: Ligne 1:
 ====== Tri et recherche rapide selon le dictionnaire français ====== ====== Tri et recherche rapide selon le dictionnaire français ======
  
 +(Modification le 28/2/2012: modif du code de la classe Compfr pour éviter des problèmes d'​encodage dans le reste du code)
  
 ===== Problématique ===== ===== Problématique =====
Ligne 18: Ligne 19:
  
 class Compfr(object):​ class Compfr(object):​
- +    """​comparaison de 2 chaines selon le dictionnaire français"""​ 
 +    ​
     def __init__(self,​ decod='​utf-8'​):​     def __init__(self,​ decod='​utf-8'​):​
         self.decod = decod         self.decod = decod
-        ​locale.setlocale(locale.LC_ALL, ''​)+        ​self.loc = locale.getlocale(# stocker la locale courante
         self.espinsec = u'​\xA0'​ # espace insécable         self.espinsec = u'​\xA0'​ # espace insécable
    
     def __call__(self,​ v1, v2):     def __call__(self,​ v1, v2):
- +        ​
         # on convertit en unicode si nécessaire         # on convertit en unicode si nécessaire
         if isinstance(v1,​ str):         if isinstance(v1,​ str):
Ligne 37: Ligne 39:
         v2 = v2.replace(u'​-',​ ''​)         v2 = v2.replace(u'​-',​ ''​)
         v2 = v2.replace(self.espinsec,​ u''​)         v2 = v2.replace(self.espinsec,​ u''​)
 +
 +        locale.setlocale(locale.LC_ALL,​ ''​)
 +        comp = locale.strcoll(v1,​ v2)
 +        locale.setlocale(locale.LC_ALL,​ self.loc) #retour à la locale courante
    
-        # on retourne le résultat de la comparaison +        ​return comp retour du résultat de la comparaison
-        return locale.strcoll(v1,​ v2)+
 </​code>​ </​code>​
  
tris_dictionnaire_francais.txt · Dernière modification: 2012/02/28 09:45 par tyrtamos