Why are tuples immutable?
Roy Smith
roy at panix.com
Thu Dec 16 12:50:12 EST 2004
Max M <maxm at mxm.dk> wrote:
> The problem is that you don't understand what dicts are typically used
> for. Because of the nonliniarity in dict lookups, dicts are used for
> optimisation.
To me, dicts are first and foremost used when you want a mapping
relationship where the key is not a valid list index (non-negative
integer). They are also useful when the key space is very sparse.
Imagine I had the following relationship:
1 => "one"
1000 => "one thousand"
1000000 => "one million"
1000000000 => "one billion"
1000000000000 => "one trillion"
I could deal with a map that had linear lookup time, but couldn't
afford the linear memory requirements. Yes, it's important that dicts
are fast, but that's not the primary thing that makes me pick a dict
vs. some other container. In some situations, it may be, but not
always. I'm a "Get it working first, optimize it later" kind of guy.
BTW, when you say nonlinear, I think you really mean sublinear.
Quadratic is nonlinear too, but I don't think very many people would
be happy with quadratic dictionary lookup times :-)
More information about the Python-list
mailing list