0

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() は最初に出現したインデックスを返すためですか? 私は推測しますか?)

最後の出現にインデックスを付ける方法はありますか?

4

2 に答える 2

3

どうですか:

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

(つまり、最後のインデックスは逆順リストの最初のインデックスです)

于 2016-04-01T04:02:12.663 に答える
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
于 2016-04-01T04:04:08.420 に答える