Efficient way to break up a list into two pieces
MRAB
python at mrabarnett.plus.com
Sun Feb 21 14:29:22 EST 2010
MRAB wrote:
> Steven D'Aprano wrote:
> [snip]
>> I'm sympathetic to your concern: I've often felt offended that doing
>> something like this:
>>
>> x = SomeReallyBigListOrString
>> for item in x[1:]:
>> process(item)
>>
>> has to copy the entire list or string (less the first item). But
>> honestly, I've never found a situation where it actually mattered.
>>
> [snip]
> Could lists gain an .items() method with start and end positions? I was
> thinking that it would be a 'view', like with dicts in Python 3. Of
> course, that would only be worthwhile with very long lists:
>
> x = SomeReallyBigListOrString
> for item in x.items(1):
> process(item)
Actually, my example is a bit wrong! My suggestion should have said that
the arguments of list.items would resemble those of range:
x = SomeReallyBigListOrString
for item in x.items(1, None): # [1 : None], or just [1 : ]
process(item)
Having a third 'stride' argument would also be possible.
More information about the Python-list
mailing list