Let assume that I have simple code.
list = [1,3,4,5,6,7,8]
for i, val in enumerate(list):
print(val)
I would like to start from i=2
. How do this in the simplest way?
Something like for(int i=2; i<list.lenght; i++)
in java
.
您可以在索引上使用普通循环:
lst = [1, 3, 4, 5, 6, 7, 8]
for i in range(2, len(lst)):
val = lst[i]
print(val)
或者你跳过第一个元素:
lst = [1, 3, 4, 5, 6, 7, 8]
for i, val in enumerate(lst):
if i < 2:
continue
print(val)
第三种选择是使用itertools.islice跳过第一个元素。这将允许您将索引保持为 0, 1, ... 尽管您跳过了一个元素:
for i, val in enumerate(itertools.islice(lst, 2, None)):
print(i, val) # would begin with 1 3, then 2 4, …
由于您的可迭代对象是一个列表,因此您也可以为此使用列表索引:
for i, val in enumerate(lst[2:]):
print(i, val)
In [1]: for i,val in enumerate(list[2:]):
print(val)
....
4
5
6
7
8