列表
a = [1,2,5,3,7,2,3,1,7,4,2,3,4,2,1]
我知道如果我这样做
a.index(2)
1
但是我想知道从某一点找到数字的最简洁方法是什么。
a.index(2,来自第2点)
5
答案 0 :(得分:4)
list.index
[doc]函数有额外的参数:
在值为list.index(x[, start[, end]])
x
的第一个项的列表中返回从零开始的索引。如果没有这样的项目,则提高ValueError
。
可选参数start
和end
被解释为切片表示法,用于将搜索限制为列表的特定子序列。返回的索引是相对于完整序列的开头而不是start
参数计算的。
所以你可以使用:
a.index(2, 2)
到从索引2开始搜索(包括索引2)。
答案 1 :(得分:2)
通过list.index
的实施,你可以通过你的“点”来实现你想要的输出:
a= [1,2,5,3,7,2,3,1,7,4,2,3,4,2,1]
print(a.index(2, 2))
输出:
5
然而,另一种可能的解决方案是构建一个字典:
val = 2
a= [1,2,5,3,7,2,3,1,7,4,2,3,4,2,1]
locations = dict(enumerate([i for i, c in enumerate(a) if c == val], start=1))
print(locations.get(2, False))
输出:
5