2009/8/11 Asun Friere <afri...@yahoo.co.uk>:
> On Aug 12, 12:15 pm, James Stroud <jstr...@mbi.ucla.edu> wrote:
>
>> I realize I left out my use. The intent of the function is to flag
>> objects that will make useful keys for a persistent dictionary. The
>> {C():4}[C()] example demonstrates why I want to avoid certain types of
>> keys--I don't want users to do things like {C():4, C():4}, which python
>> happily allows but falls apart at the level of persistence.
>
> What am I missing here?  How, in terms of persistence, is {C():4, C():
> 4} conceptually different from {'spam':4, 'ham':4}?

Consider the case of pickling the data twice to 2 separate files.
When loaded from both files into the same program, the spam-ham dicts
will work as expected.
The C()s will not. For cs1[cs2.keys()[0]] will raise KeyError.

Cheers,
Chris
-- 
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to