False and 0 in the same dictionary

Prateek surekap at gmail.com
Tue Nov 4 16:21:02 EST 2008


On Nov 5, 1:52 am, Duncan Booth <duncan.bo... at invalid.invalid> wrote:
> Prateek <sure... at gmail.com> wrote:
> > I've been using Python for a while (4 years) so I feel like a moron
> > writing this post because I think I should know the answer to this
> > question:
>
> > How do I make a dictionary which has distinct key-value pairs for 0,
> > False, 1 and True.
>
> How about using (x, type(x)) as the key instead of just x?

Yup. I thought of that. Although it seems kinda unpythonic to do so.
Especially since the dictionary is basically a cache mostly containing
strings. Adding all the memory overhead for the extra tuples seems
like a waste just for those four keys.

Is there a better way?
I also thought of using a custom __eq__  method in a custom class
which extends the dict type but decided that was even worse.

Prateek



More information about the Python-list mailing list