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