gpt4 book ai didi

python - 如何在 Python 列表中查找最后一次出现的项目

转载 作者:IT老高 更新时间:2023-10-28 21:44:25 25 4
gpt4 key购买 nike

假设我有这个 list :

li = ["a", "b", "a", "c", "x", "d", "a", "6"]

就帮助显示我而言,没有返回最后一次出现的字符串的内置函数(如 index 的反面)。所以基本上,我怎样才能在给定列表中找到 "a" 的最后一次出现?

最佳答案

如果您实际上只使用示例中所示的单个字母,那么 str.rindex会得心应手。如果没有这样的项目,这将引发 ValueError,与 list.index 将引发相同的错误类。演示:

>>> li = ["a", "b", "a", "c", "x", "d", "a", "6"]
>>> ''.join(li).rindex('a')
6

对于更一般的情况,您可以在反向列表上使用 list.index:

>>> len(li) - 1 - li[::-1].index('a')
6

这里的切片创建了整个列表的副本。这对于短列表很好,但是对于 li 非常大的情况,使用惰性方法可以提高效率:

def list_rindex(li, x):
for i in reversed(range(len(li))):
if li[i] == x:
return i
raise ValueError("{} is not in list".format(x))

单行版本:

next(i for i in reversed(range(len(li))) if li[i] == 'a')

关于python - 如何在 Python 列表中查找最后一次出现的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6890170/

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