如何在Python中获取列表中重复元素的最高索引值

如何在Python中获取列表中重复元素的最高索引值,python,Python,我想对数组进行排序,并在排序后查找索引数量的变化 这是我写的代码 dummy=list(映射(int,input().split()) i=1 计数=0 尽管如此: 打印(“\n”) 打印(“迭代”,i) emp=[] 如果i+1>len(虚拟): 打破 如果i==1: uns=假人[:i+1] 其他: uns=整个[:i+1] 打印(“未排序的数组为:”,未排序) 新建=已排序(虚拟[:i+1]) 打印(“正在考虑:”,新) 整体=新+虚拟[i+1:] 打印(“整个数组为:”,整个) 如果完整

我想对数组进行排序,并在排序后查找索引数量的变化 这是我写的代码

dummy=list(映射(int,input().split())
i=1
计数=0
尽管如此:
打印(“\n”)
打印(“迭代”,i)
emp=[]
如果i+1>len(虚拟):
打破
如果i==1:
uns=假人[:i+1]
其他:
uns=整个[:i+1]
打印(“未排序的数组为:”,未排序)
新建=已排序(虚拟[:i+1])
打印(“正在考虑:”,新)
整体=新+虚拟[i+1:]
打印(“整个数组为:”,整个)
如果完整!=笨蛋:
#打印(“不一样!”)
对于范围内的i(len(新)):
old=未分类索引(未分类[i])
打印(“旧值”,uns[i],“is:”,旧)
new_in=new.index(uns[i])
打印(“新值”,uns[i],“is:”,新值)
差异=abs(旧-新)
打印(“索引值的差异”,uns[i],“is:”,diff)
环境管理附加(差异)
计数+=最大值(emp)
打印(“最大差异为:”,最大(emp),“现在计数为:”,计数)
i+=1
打印(计数)
代码的输入为
2 1 3 1 2
它在每次迭代中对i+1元素进行排序


但是在迭代3中,当考虑的元素是
1231
(这是在2次排序迭代之后)时,它将
1
的先前值(索引)返回为0而不是3,如何得到3(即重复元素的最高索引值)您可以使用
list.index()
方法的
start
参数,而不是0

,仅在上一次出现后才开始搜索:

dummy_list=[1,2,3,1]
first_idx=虚拟列表索引(1)
打印(第一个idx)#打印0
打印(虚拟列表索引(1,第一个idx+1))#打印3

有关详细信息,请参阅。

如果希望更改尽可能少,可以反转(range())。但另一个答案更像是蟒蛇。