如何在列表中查找位置?
我觉得这个问题可能很基础(但我试着在谷歌和StackOverflow上搜索都没找到答案)。
我有一个列表:[1, 2, 3, 4]
我想知道这个列表中数字3的位置在哪里……但是我不想用循环一项一项地去查找整个列表。这样做可以吗?因为我现在正在处理一个非常大的列表,想尽量减少遍历整个列表的次数。
这样做可以吗?
2 个回答
2
这真的是个非常基础的问题。你应该查一下文档,比如这里:http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange
所以你的解决方案是:
[1,2,3,4].index(3)
# 2
这里的2是索引,也就是说:
[1,2,3,4][2]
# 3
5
[1, 2, 3, 4].index(3) # --> 2
.index()
方法如果找不到你想要的值,就会报错,叫做 IndexError。
要记住,如果你在很大的列表上频繁使用 .index()
来查找,这个过程可能会非常慢——因为 Python 需要像你一样,逐个遍历列表来查找。