我想在一个列表中迭代.另外,我想知道迭代下元素的索引.
我想做点什么
for i, elm in enumerate(test_list)[7:40]:
print i, elm
#i must start with 7
Run Code Online (Sandbox Code Playgroud)
唉,它说,那 'enumerate' object has no attribute '__getitem__'
我怎样才能以大多数pythonic的方式获得它?
enumerate
返回一个迭代器,它不支持基于索引的访问.但是,您可以先对原始列表进行切片,然后从不同的索引开始enumerate
:
for i, elm in enumerate(test_list[7:40], 7):
print i, elm
Run Code Online (Sandbox Code Playgroud)
你可以使用islice
:
from itertools import islice
for i,elm in islice(enumerate(some_list),7,40):
print i,elm
Run Code Online (Sandbox Code Playgroud)