I am +0.3 on this as I don't personally have a need for this but do see the utility.
I can think of a number of examples where an `__advance__` would be preferable to any of the proposed solutions: A skip list which doesn't support O(1) random access but can advance faster than naively calling next repeatedly A lazy infinite iterator which can efficiently calculate its state at some future point (e.g. `itertools.count`) A tree iterator could perform efficient `__advance__` by checking the size of sub trees before descending into them (I'm not sure why you would ever want to `__advance__` a tree iterator). My ladder two examples demonstrate that this could have utility outside of sequences but for iterators in general. -- Caleb Donovick On Tue, Oct 6, 2020 at 1:13 PM David Mertz <me...@gnosis.cx> wrote: > > On Tue, Oct 6, 2020, 1:21 PM Christopher Barker > >> if you want to iterate through items N to the end, then how do you do >> that without either iterating through the first N and throwing them away, >> or making a slice, which copies the rest of the sequence? >> > > it = (lst[i] for i in range(N, len(lst))) > > I haven't benchmarked whether this is faster than islice. It might depend > on how many you wind up consuming. > > It's slightly cumbersome to write, I suppose. But it also seems like > something one RARELY needs. > _______________________________________________ > 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/F7N5H6CAUJM5BICC4BEEWQDNIDGN2RTR/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ 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/HZSIE675BKFI62Y67WTCQ7AEPK5H5YOR/ Code of Conduct: http://python.org/psf/codeofconduct/