Dict when defining not returning multi value key error
Terry Reedy
tjreedy at udel.edu
Thu Jul 31 15:17:53 EDT 2014
On 7/31/2014 7:24 AM, Dilu Sasidharan wrote:
> I am wondering why the dictionary in python not returning multi value
> key error when i define something like
>
> p = {'k':"value0",'k':"value1"}
This is documented behavior: "you can specify the same key multiple
times in the key/datum list, and the final dictionary’s value for that
key will be the last one given." I am not sure whether this is an
accident of the initial design, never changed since, or intended for
certain uses. It may partly be because this choice is slightly simpler
or, since keys are expressions, not constants, that the check can only
come at runtime.
>>> def f(x): return 0
>>> {f(1):1, f(2):2}
{0: 2}
--
Terry Jan Reedy
More information about the Python-list
mailing list