📌  相关文章
📜  Python|列表中某个元素的最后一次出现(1)

📅  最后修改于: 2023-12-03 15:04:24.489000             🧑  作者: Mango

Python | 列表中某个元素的最后一次出现

在Python中,我们可以使用内置函数list.count()获取列表中某个元素出现的次数,但是如果我们想要获取某个元素最后一次出现的位置,该怎么做呢?

方法一

使用循环遍历列表,从后往前查找元素最后一次出现的位置,示例代码如下:

def last_index(lst, element):
    for i in range(len(lst)-1, -1, -1):
        if lst[i] == element:
            return i
    return -1  # 若没有该元素,返回-1

# 示例
lst = [1, 2, 3, 4, 2, 5]
element = 2
print(last_index(lst, element))  # 输出4

上述代码中,我们首先从列表末尾开始循环,然后判断当前元素是否等于目标元素。若是,则返回当前索引位置;若否,则继续循环。当遍历完列表仍未找到目标元素时,返回-1表示列表中不存在该元素。

方法二

使用内置函数list[::-1]将列表反转后查找元素最后一次出现的位置,示例代码如下:

def last_index(lst, element):
    if element in lst:
        return len(lst) - lst[::-1].index(element) - 1
    else:
        return -1

# 示例
lst = [1, 2, 3, 4, 2, 5]
element = 2
print(last_index(lst, element))  # 输出4

上述代码中,我们首先判断目标元素是否在列表中,若在,则使用list[::-1]将列表反转;然后使用list.index()获取目标元素在反转后列表中出现的第一个位置,最后将反转后位置转换为原列表位置并返回即可。当列表中不存在目标元素时,返回-1表示不存在该元素。

总的来说,方法一适用于对列表中所有元素都进行遍历,空间复杂度较低,时间复杂度为O(n);而方法二适用于对单个元素进行查找,空间复杂度较高,时间复杂度为O(n)。在实际应用中,我们可以根据具体情况选择不同的方法。