python 列表中最后一次出现的 index()
index() of last occurrence in list in python
在我的 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
但我得到了 start = 1,2,3,2,1,6,7,3(因为 index() return 是第一次出现的索引?我猜?)
有什么方法可以索引最后一次出现的事件吗?
怎么样:
start = len(listData) - listData[::-1].index(datum)
(即最后一个索引是反向列表中的第一个索引)
给你:
>>> 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
在我的 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
但我得到了 start = 1,2,3,2,1,6,7,3(因为 index() return 是第一次出现的索引?我猜?)
有什么方法可以索引最后一次出现的事件吗?
怎么样:
start = len(listData) - listData[::-1].index(datum)
(即最后一个索引是反向列表中的第一个索引)
给你:
>>> 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