On Sun, Dec 27, 2020 at 11:36 AM Greg Ewing <greg.ew...@canterbury.ac.nz> wrote:
>
> On 27/12/20 10:15 am, Christopher Barker wrote:
> > It does seem like ** could be usable with any iterable that returns
> > pairs of objects. However the trick is that when you iterate a dict, you
> > get the keys, not the items, which makes me think that the only thing
> > you should *need* is an items() method that returns an iterable (pf
> > pairs of objects).
>
> It seems to me it would be more fundamental to use iteration to get
> the keys and indexing to get the corresponding values. You're only
> relying on dunder methods then.
>

But that would mean that a lot of iterables would look like mappings
when they're not. Consider:

>>> def naive_items(x):
...     return [(key, x[key]) for key in x]
...
>>> naive_items(range(9, -1, -1))
[(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1, 8), (0, 9)]

ChrisA
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/7BO62PFYBMXYPJFB6V4YBMMK774SGBY7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to