Re: reversed(enumerate(x))

2016-07-21 Thread Ian Kelly
On Wed, Jul 20, 2016 at 11:54 AM, Brendan Abel <007bren...@gmail.com> wrote: > You could create your own generator that wraps enumerate > > def reverse_enumerate(iterable): > for i, val in enumerate(reversed(iterable)): > yield len(iterable) - 1 - i, val > > for i, val in reverse_enumer

Re: reversed(enumerate(x))

2016-07-21 Thread Ian Kelly
On Wed, Jul 20, 2016 at 1:16 PM, Random832 wrote: > On Wed, Jul 20, 2016, at 13:42, Ian Kelly wrote: >> I had occasion to write something like this: >> >> for i, n in reversed(enumerate(x)): pass >> >> How would you write this? > > I'd write my o

Re: reversed(enumerate(x))

2016-07-20 Thread Michael Selik
> On Jul 20, 2016, at 12:42 PM, Ian Kelly wrote: > >for i, n in reversed(enumerate(x)): pass > > fails with "TypeError: argument to reversed() must be a sequence". So make it a sequence: for i, n in reversed(list(enumerate(x))): pass If ``x`` is very large, y

Re: reversed(enumerate(x))

2016-07-20 Thread Chris Angelico
On Thu, Jul 21, 2016 at 5:13 AM, Steven D'Aprano wrote: > On Thu, 21 Jul 2016 03:46 am, Chris Angelico wrote: > >> On Thu, Jul 21, 2016 at 3:42 AM, Ian Kelly wrote: >>> I had occasion to write something like this: >>> >>> for i, n in reversed(enum

Re: reversed(enumerate(x))

2016-07-20 Thread Random832
On Wed, Jul 20, 2016, at 13:42, Ian Kelly wrote: > I had occasion to write something like this: > > for i, n in reversed(enumerate(x)): pass > > How would you write this? I'd write my own version of enumerate with a step argument, and call enumerate(reversed(x), s

Re: reversed(enumerate(x))

2016-07-20 Thread Steven D'Aprano
On Thu, 21 Jul 2016 03:46 am, Chris Angelico wrote: > On Thu, Jul 21, 2016 at 3:42 AM, Ian Kelly wrote: >> I had occasion to write something like this: >> >> for i, n in reversed(enumerate(x)): pass >> >> Of course this fails with "TypeError: argument t

Re: reversed(enumerate(x))

2016-07-20 Thread Brendan Abel
ion to write something like this: > > for i, n in reversed(enumerate(x)): pass > > Of course this fails with "TypeError: argument to reversed() must be a > sequence". I ended up using this instead: > > for i, n in zip(reversed(range(len(x))), revers

Re: reversed(enumerate(x))

2016-07-20 Thread Chris Angelico
On Thu, Jul 21, 2016 at 3:42 AM, Ian Kelly wrote: > I had occasion to write something like this: > > for i, n in reversed(enumerate(x)): pass > > Of course this fails with "TypeError: argument to reversed() must be a > sequence". I ended up using this instead: >

reversed(enumerate(x))

2016-07-20 Thread Ian Kelly
I had occasion to write something like this: for i, n in reversed(enumerate(x)): pass Of course this fails with "TypeError: argument to reversed() must be a sequence". I ended up using this instead: for i, n in zip(reversed(range(len(x))), reversed(x)): pass This wo