I want to iterate within a slice of a list. Also, I want to know the indexes of the element under my iteration.
I want to make something like
for i, elm in enumerate(test_list)[7:40]:
print i, elm
#i must start with 7
Alas, it says, that 'enumerate' object has no attribute '__getitem__'
How can I get it in most pythonic way?
Slicing in Python is a feature that enables accessing parts of sequences like strings, tuples, and lists. You can also use them to modify or delete the items of mutable sequences such as lists. Slices can also be applied on third-party objects like NumPy arrays, as well as Pandas series and data frames.
Python enumerate() Function The enumerate() function takes a collection (e.g. a tuple) and returns it as an enumerate object. The enumerate() function adds a counter as the key of the enumerate object.
You can use islice
:
from itertools import islice
for i,elm in islice(enumerate(some_list),7,40):
print i,elm
enumerate
returns an iterator, which does not support index-based access. You can however slice the original list first, and just start at a different index with enumerate
:
for i, elm in enumerate(test_list[7:40], 7):
print i, elm
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With