[Python-Dev] Add a "transformdict" to collections

Piotr Duda duda.piotr at gmail.com
Thu Sep 12 16:51:26 CEST 2013


2013/9/12 Ethan Furman <ethan at stoneleaf.us>:
> On 09/11/2013 02:39 PM, Tim Delaney wrote:
>>
>>
>> I would think that retrieving the keys from the dict would return the
>> transformed keys (I'd
>> call them canonical keys).
>
>
> The more I think about this the more I agree.  A canonicaldict with a key
> function that simply stored the transformed key and it's value would seem to
> be a lot simpler:
>
>   - no need to store a separate "presentation" key
>   - no confusion about which of the first key/last key seen is stored
>   - no mistakes with the "first" key not being added before real data
>     and getting the presentation key wrong

If original keys aren't stored then

d = TransformDict(transfunc, ...)
for k in d:
  dosomething(k, d[k])

will break if transfunc(transfunc(x)) != transfunc(x)



-- 
闇に隠れた黒い力
弱い心を操る


More information about the Python-Dev mailing list