我有这样的列表:[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