如何遍历起始点不等于索引0的列表?
在我的具体情况下,我有一个列表,其中包含可能连续或不连续的数字(例如:1,2,5,8,11,35,664)。根据用户输入,我想从某一点开始遍历。
使用相同的上述示例,假设我想从8开始遍历。
答案 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