On Sat, 14 Sep 2013 10:49:52 +1000 Steven D'Aprano <st...@pearwood.info> wrote: > > Is it more common to want both the canonical key and value at the same > time, or to just want the canonical key? My gut feeling is that I'm > likely to have code like this: > > d = TransformDict(...) > for key in data: > key = d.get_canonical(key) > value = d[key] > print("{}: {}".format(key, value)) > > in which case having a single call to return both will be great: > > for key in data: > key, value = d.getitem(key) > print("{}: {}".format(key, value)) > > but I'm really not sure. Maybe Ethan is right.
I don't think it really matters. From getitem() it's trivial to extract the key alone. > I think these sorts of associated questions are why some people > (Raymond, Nick) want to see the proposal live outside of the standard > library for a while first. The general idea is great, but we're going to > bike shed the API without having much idea of how it will actually be > used. Even after it's used, it will still be bikeshedded: such is how proposals are generally discussed. There really isn't very much to decide here, and whether we only return a key or a (key, value) pair is almost cosmetic: both APIs are reasonably convenient. > So, my suggestion is this: > > - Let's add __transform__ to dicts for 3.4, similar to __missing__, and > see how people end up using it in the real world. Well, __missing__ isn't used very much, I think. People use defaultdict. (note that I'm not even proposing __transform__ right now :-)) > +1 on __transform__ method on dicts. > > +0 on TransformedDict in 3.4 > > +1 on waiting for 3.5 based on experience on using __transform__. Ok, thanks. Regards Antoine. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com