在列表中找到带有重复元素python的元素的最后索引



我有这样的列表:[1,12,3,4,4,5,12,15,13,11]

我想找到12个I.e 6的索引。我尝试过线性方法,但不是有效的。

item = 12
for i in range(len(mylist)):
    if mylist[i] == item:
        index = i
return index

有任何有效的方法来获取此问题?

从右到左:

mylist = [1,12,3,4,4,5,12,15,13,11]
item = 12
for i in range(len(mylist)-1,-1,-1):
    if mylist[i] == item:
        index = i
        print(index)
        break
len(mylist) - list(reversed(mylist)).index(item) -  1

将足够

列表中元素的最后一次出现与反向列表中该元素的第一次出现。

因此,原始列表中元素的最后一次出现的索引等于(length_of_list -index_in_in_reversed_list-1(。

您可以使用list.reverse()方法来扭转列表,然后通过list.index()方法在反转列表中首次出现所需元素的索引。

例如:

>>> mylist = [1,12,3,4,4,5,12,15,13,11]
>>> temp = mylist[:]
>>> temp.reverse()
>>> index = len(temp) - temp.index(12) - 1
>>> print(index)
6

相关内容

  • 没有找到相关文章

最新更新