如何从选定的点开始遍历列表?

时间:2014-04-27 06:09:30

标签: python list traversal

如何遍历起始点不等于索引0的列表?

在我的具体情况下,我有一个列表,其中包含可能连续或不连续的数字(例如:1,2,5,8,11,35,664)。根据用户输入,我想从某一点开始遍历。

使用相同的上述示例,假设我想从8开始遍历。

4 个答案:

答案 0 :(得分:1)

>>> for i in itertools.dropwhile(lambda x: x != 8, [1, 2, 5, 8, 11, 35, 664]):
...   print i
... 
8
11
35
664
>>> for i in itertools.islice([1, 2, 5, 8, 11, 35, 664], 3, None):
...   print i
... 
8
11
35
664

答案 1 :(得分:1)

你可以这样做:

a[a.index(8):]

a = [1,5,8,3,5,7]

>>> print a[a.index(8):]
[8,3,5,7]

答案 2 :(得分:0)

如果您的用户输入将成为索引值本身,您可以使用:

for x in list[index:]

简单地从索引编号前进。

答案 3 :(得分:0)

如果您想要{value:index}字典。你可以这样做。但它只适用于列表中的元素都是唯一的。

>>> a = [1,2,5,8,11,35,664]
>>> b = dict(zip(a, xrange(len(a))))
>>> print "index of 8 is", b[8]
index of 8 is 3
>>> print "index of 35 is", b[35]
index of 35 is 5