python中列表中最后一次出现的index()

时间:2016-04-01 03:54:46

标签: python indexing last-occurrence

在我的for循环中,我得到了这段代码:

start = listData.index(datum) + 1

和listData是:

listData = ['H66', 'B35', 'L21', 'B35', 'H66', 'J02', 'J04', 'L21', 'J20']   

我想要的是start = 1,2,3,4,5,6,7,9

但是我得到了开始= 1,2,3,2,1,6,7,3(因为index()返回第一次出现的索引?我猜?)

有没有办法将最后一次出现的索引?

2 个答案:

答案 0 :(得分:2)

怎么样:

start = len(listData) - listData[::-1].index(datum)

(即最后一个索引是颠倒列表中的第一个索引)

答案 1 :(得分:1)

你走了:

>>> listData = ['H66', 'B35', 'L21', 'B35', 'H66', 'J02', 'J04', 'L21', 'J20']
>>> def return_last(x):
...     return len(listData)-listData[::-1].index(x)-1
... 
>>> return_last("L21")
7
>>> return_last("H66")
4