如何获取列表的最后一个索引?

时间:2011-10-25 13:15:49

标签: python list indexing

假设我有以下列表:

list1 = [1, 2, 33, 51]
                    ^
                    |
indices  0  1   2   3

如何获取该列表的最后一个索引,在本例中为3?

8 个答案:

答案 0 :(得分:19)

len(list1)-1绝对是可行的方法,但是如果你绝对需要一个具有返回最后一个索引的函数的list,你可以创建一个继承自list的类。

class MyList(list):
    def last_index(self):
        return len(self)-1


>>> l=MyList([1, 2, 33, 51])
>>> l.last_index()
3

答案 1 :(得分:10)

您的意思是len(list1)-1吗?

如果您正在搜索其他方法,可以尝试list1.index(list1[-1]),但我不建议使用此方法。您必须确保该列表中没有重复项。

答案 2 :(得分:4)

我猜你想要

last_index = len(list1) - 1 

将在last_index中存储3个。

答案 3 :(得分:4)

获取列表最后一个索引的最快,最快捷的方法是使用-1作为索引编号, 例如:

my_list = [0, 1, 'test', 2, 'hi']
print(my_list[-1])

输出为:'hi'。 索引-1中,显示最后一个索引或末尾的第一个索引。

答案 4 :(得分:1)

您可以使用列表长度。最后一个索引将是列表的长度减去一个。

len(list1)-1 == 3

答案 5 :(得分:1)

以上所有答案都是正确的,但是

a = [];
len(list1) - 1 # where 0 - 1 = -1

更精确

a = [];
index = len(a) - 1 if a else None;

if index == None : raise Exception("Empty Array")

因为数组从0开始

答案 6 :(得分:0)

a = ['1', '2', '3', '4']
print len(a) - 1
3

答案 7 :(得分:-1)

list1[-1]

将返回列表的最后一个索引。

如果在数组索引之前使用减号,它将从末尾开始向下计数。 list1[-2] 将返回倒数第二个索引等。

重要的是 -0 只返回列表的“第一个”(第 0 个)索引,因为 -0 和 0 是相同的数字,