caseless dictionary howto ?

stef s.mientki at id.umcn.nl
Wed Jun 20 03:17:01 EDT 2007


Gabriel Genellina wrote:
> En Tue, 19 Jun 2007 19:40:10 -0300, Steven Bethard 
> <steven.bethard at gmail.com> escribió:
>
>> Stef Mientki wrote:
>>> Evan Klitzke wrote:
>>>> On 6/19/07, Stef Mientki <S.Mientki-nospam at mailbox.kun.nl> wrote:
>>>>>
>>>>> I need to search a piece of text and make all words that are equal
>>>>> (except their case) also equal in their case, based on the first
>>>>> occurrence.
>
>> ...     def __setitem__(self, key, value):
>> ...         self._dict[key.lower()] = value
>> ...         if key not in self._original_keys:
>> ...             self._original_keys[key.lower()] = key
>> ...
>>
>> Note that because I store the first form encountered for every key, I
>> can always use the lower-case version to retrieve the "original string".
>
> As written, it stores the last used spelling; a small change is 
> required to get the intended behavior:
>
>> ...     def __setitem__(self, key, value):
>> ...         self._dict[key.lower()] = value
>> ...         if key.lower() not in self._original_keys:
>> ...             self._original_keys[key.lower()] = key
>
> --Gabriel Genellina
>
thanks guys,
I'll think a while which solution I'll choose.

cheers,
Stef Mientki



More information about the Python-list mailing list