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.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to