Insensitive Dictionaries (Was: Language change and code breaks)

Joal Heagney s713221 at student.gu.edu.au
Mon Jul 23 00:02:06 EDT 2001


Joal Heagney wrote:
 
> Version three rewritten so it's consistent about try/except and if has_key else:

> >>> class InsensitiveDict3(UserDict):
>         def __getitem__(self,key):
>                 if self.data.has_key(key)
>                         return self.data[key]
>                 else:
>                         if type(key) == type(""):
>                                 for i in self.data.keys():
>                                         if i.lower() == key.lower():
>                                                 return self.data[i]
>                         else:
>                         	  raise IndexError
>         def __setitem__(self,key,value):
>                 if self.data.has_key(key):
>                         self.data[key] = value
>                 else:
>                         if type(key) == type(""):
>                                 for i in self.data.keys():
>                                         if i.lower() == key.lower():
>                                                 del self.data[i]
>                                 self.data[key] = value
>                         else:
>                                 self.data[key] =value
> 

> --
      Joal Heagney is: _____           _____
   /\ _     __   __ _    |     | _  ___  |
  /__\|\  ||   ||__ |\  || |___|/_\|___] |
 /    \ \_||__ ||___| \_|! |   |   \   \ !



More information about the Python-list mailing list