[Python-Dev] Dicts are broken Was: unicode hell/mixing str and unicode asdictionarykeys

Giovanni Bajo rasky at develer.com
Fri Aug 4 21:51:09 CEST 2006


Paul Colomiets <pc at gafol.net> wrote:

> Well it's not recomended to mix strings and unicode in the
> dictionaries
> but if we mix for example integer and float we have the same thing. It
> doesn't raise exception but still it is not expected behavior for me:
>  >>> d = { 1.0: 10, 2.0: 20 }
> then if i somewhere later do:
>  >>> d[1] = 100
>  >>> d[2] = 200
> to have here all floats in d.keys(). May be this is not a best
> example.

There is a strong difference. Python is moving towards unifying number types in
a way (see the true division issue): the idea is that, all in all, user
shouldn't really care what type a number is, as long as he knows it's a number.
On the other hand, unicode and str are going to diverge more and more.

Giovanni Bajo



More information about the Python-Dev mailing list