Suggestion: PEP for popping slices from lists

Neatu Ovidiu neatuovi at gmail.com
Thu Aug 8 09:32:36 EDT 2013


On Thursday, August 8, 2013 4:08:13 PM UTC+3, Nicholas wrote:
> On Thu, Aug 8, 2013 at 12:50 PM, Neatu Ovidiu <neat... at gmail.com> wrote:
> 
> 
> 
> 
> On Thursday, August 8, 2013 2:44:05 PM UTC+3, Neatu Ovidiu wrote:
> 
> > On Thursday, August 8, 2013 2:12:53 PM UTC+3, Nicholas wrote:
> 
> >
> 
> > > On Thu, Aug 8, 2013 at 11:38 AM, Neatu Ovidiu <neat... at gmail.com> wrote:
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > > > But what's your use case?
> 
> >
> 
> > >
> 
> >
> 
> > > >
> 
> >
> 
> > >
> 
> >
> 
> > > > Does it occur often enough that you cannot afford a two-liner like
> 
> >
> 
> > >
> 
> >
> 
> > > I think uses cases are plenty.
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > > The possible cases I can think of would be better served with list comprehensions (what you seem to want is to create lists based on other lists) - but maybe I'm missing something.  Could we have one example?
> 
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > >
> 
> >
> 
> > > N.
> 
> >
> 
> >
> 
> >
> 
> > This can be useful for doing all kinds of basic stuff. For example if you wanted to take 4 items of a list at at a time, do something with them and then update the list.
> 
> >
> 
> >
> 
> >
> 
> > jobs = ['job1', 'job2', 'job3', 'job4', 'job5', 'job6', 'job7', 'job8', 'job9', 'job10']
> 
> >
> 
> > while jobs:
> 
> >
> 
> >     print(jobs.pop_slice(0,4))
> 
> >
> 
> >
> 
> >
> 
> > should output
> 
> >
> 
> >
> 
> >
> 
> > 'job1', 'job2', 'job3', 'job4'
> 
> >
> 
> > 'job5', 'job6', 'job7', 'job8'
> 
> >
> 
> > 'job9', 'job10'
> 
> 
> 
> The idea "popped" in my mind while thinking about this question.
> 
> http://stackoverflow.com/questions/18121416/right-split-a-string-into-groups-of-3/18122084
> 
> I founded the list comprehensions solutions kind of cumbersome and thought that there should be a simple way to do this kind of stuff.
> 
> --
> 
> http://mail.python.org/mailman/listinfo/python-list
> 
> 
> 
> 
> 
> Still seems a bit like a solution looking for a problem to me.
> 
> 
> 
> Why would you want to take four items at a time for a job from an arbitrary part of a list?  I agree splitting a string into groups of three looks a bit cumbersome in the example you've given, but a generator could be written quite easily, and would almost certainly be quicker than trying to alter the list in place.
> 
> 
> 
> Best wishes,
> 
> 
> N.

You are perfectly right. But I looked at it more like an improvement in the style of writing solutions and also a natural option because slices are highly present all over in python.



More information about the Python-list mailing list