gpt4 book ai didi

python - 获取最后一个列表项索引的最pythonic方式

转载 作者:行者123 更新时间:2023-11-28 22:35:49 24 4
gpt4 key购买 nike

给定一个列表:

l1 = [0, 211, 576, 941, 1307, 1672, 2037]

获取列表最后一个元素的索引的最pythonic 方法是什么。鉴于 Python 列表是零索引的,是不是:

len(l1) - 1

或者,是下面使用Python的列表操作:

l1.index(l1[-1])

两者都返回相同的值,即 6。

最佳答案

只有第一个是正确的:

>>> lst = [1, 2, 3, 4, 1]
>>> len(lst) - 1
4
>>> lst.index(lst[-1])
0

但这取决于你所说的“最后一个元素的索引”是什么意思。

请注意,index 必须遍历整个列表才能提供答案:

In [1]: %%timeit lst = list(range(100000))
...: lst.index(lst[-1])
...:
1000 loops, best of 3: 1.82 ms per loop

In [2]: %%timeit lst = list(range(100000))
len(lst)-1
...:
The slowest run took 80.20 times longer than the fastest. This could mean that an intermediate result is being cached.
10000000 loops, best of 3: 109 ns per loop

请注意,第二个计时以纳秒为单位,而第一个以毫秒为单位。

关于python - 获取最后一个列表项索引的最pythonic方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37912206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com