Python 如何循环遍历某个索引中的列表?

Python 如何循环遍历某个索引中的列表?,python,list,loops,Python,List,Loops,我在这里找到了答案,但对我不起作用 我试图从第二个索引循环 ints = [1, 3, 4, 5, 'hi'] for indx, val in enumerate(ints, start=1): print indx, val for i in range(len(ints)): print i, ints[1] 我的输出是 1 1 2 3 3 4 4 5 5 hi 0 3 1 3 2 3 3 3 4 3 我需要在索引1处打印出第一个整数,并循环到末尾。试试看 for i

我在这里找到了答案,但对我不起作用

我试图从第二个索引循环

ints = [1, 3, 4, 5, 'hi']

for indx, val in enumerate(ints, start=1):
    print indx, val

for i in range(len(ints)):
   print i, ints[1]
我的输出是

1 1
2 3
3 4
4 5
5 hi
0 3
1 3
2 3
3 3
4 3
我需要在索引1处打印出第一个整数,并循环到末尾。

试试看

for idx, val in enumerate(ints[1:], start=1)
    print idx, val


iterables的解决方案(不仅仅是列表):


一种简单的方法是使用python的切片表示法——请参阅基础教程中的部分

用于ints[1::]:


这将迭代列表,跳过第0个元素。由于您实际上不需要索引,因此此实现比那些不必要地维护索引的实现更清晰

我不确定我是否完全理解您想要实现的目标。据我所知,如果您只想从第二个元素开始循环列表,您可以这样做:

ints = [1, 3, 4, 5, 'hi']

for i in range(1,len(ints)):
    print i, ints[i]
输出:

1 3
2 4
3 5
4 hi
1 1
2 3
3 4
4 5
5 hi
1 1
2 3
3 4
4 5
5 hi
或者,如果要循环所有元素,但打印从1开始的索引而不是从0开始的索引:

ints = [1, 3, 4, 5, 'hi']

for i in range(len(ints)):
    print i+1, ints[i]
ints = [1, 3, 4, 5, 'hi']

for i, el in enumerate(ints):
    print (i+1), el
输出:

1 3
2 4
3 5
4 hi
1 1
2 3
3 4
4 5
5 hi
1 1
2 3
3 4
4 5
5 hi
或者使用
enumerate()
遍历所有元素,但打印从1开始而不是从0开始的索引:

ints = [1, 3, 4, 5, 'hi']

for i in range(len(ints)):
    print i+1, ints[i]
ints = [1, 3, 4, 5, 'hi']

for i, el in enumerate(ints):
    print (i+1), el
输出:

1 3
2 4
3 5
4 hi
1 1
2 3
3 4
4 5
5 hi
1 1
2 3
3 4
4 5
5 hi

您可以使用
itertools.islice

import itertools

for idx, el in enumerate(itertools.islice(ints, 1, None), start=1):
    print(idx, el)
或者,如果您只想跳过第一个元素:

for idx, el in enumerate(ints):
    if idx == 0:
        continue
    print(idx, el)

你的预期产出是多少?