On Thu, Sep 4, 2008 at 3:37 PM, Robert Dailey <[EMAIL PROTECTED]> wrote: > On Thu, Sep 4, 2008 at 5:21 PM, Fredrik Lundh <[EMAIL PROTECTED]> > wrote: >> >> Robert Dailey wrote: >> >>> I currently have a dictionary object that I'm doing the following with: >>> >>> if lib not in stage_map: >>> # ... do stuff ... >>> >>> However, this will perform a case-sensitive comparison between lib and >>> each key in stage_map. Is there a way to make this do a case-insensitive >>> comparison instead? >> >> dictionary lookups use the exact value. to make a case-insensitive >> lookup, use key.lower() instead of key when creating the dictionary, and >> then do >> >> if lib.lower() not in state_map: >> ... > > So you're saying to ensure that stage_map's keys are initially lower-case to > begin with? Well, I can't do this either since the case of the keys is > actually valuable later on. It's only for the purposes of this specific > comparison operation that the case should be ignored.
Then store the string in its original case in the value part of the key-value pair: stage_map[key.lower()] = (key,whatever) - Chris > > -- > http://mail.python.org/mailman/listinfo/python-list > -- Follow the path of the Iguana... http://rebertia.com -- http://mail.python.org/mailman/listinfo/python-list