【问题标题】:How to obtain the last index of a list?如何获取列表的最后一个索引?
【发布时间】:2011-12-14 22:41:30
【问题描述】:

假设我有以下列表:

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

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

【问题讨论】:

标签: python list indexing


【解决方案1】:

获取列表最后一个索引的最佳和快速方法是使用-1 作为索引数, 例如:

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

输出为:'hi'

Index -1 显示最后一个索引或末尾的第一个索引。

但是如果只想获取最后一个索引,可以通过这个函数获取:

def last_index(input_list:list) -> int:
    return len(input_list) - 1

在这种情况下,输入是列表,输出是一个整数,它是最后一个索引号。

【讨论】:

  • 它对我有帮助!原来我在找这个xD
【解决方案2】:
list1[-1]

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

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

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

【讨论】:

  • 这将返回最后一个元素,而不是最后一个索引,因此它不会回答问题。
【解决方案3】:

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

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 开始的

【讨论】:

  • 这是超级答案。这是编写高质量代码的方法。
  • @Willysatrionugroho 这也可能是无用的开销。取决于您的期望和代码运行的条件。
【解决方案4】:

我猜你想要

last_index = len(list1) - 1 

这会将 3 存储在 last_index

【讨论】:

    【解决方案5】:

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

    len(list1)-1 == 3
    

    【讨论】:

    • 这会返回一个布尔值
    • @AnthonyPerot 你是对的,这有点令人困惑。我认为这与其说是代码,不如说是他说他们是平等的。
    【解决方案6】:

    你是说len(list1)-1吗?

    如果您正在寻找其他方法,您可以尝试list1.index(list1[-1]),但我不推荐这种方法。您必须确保该列表不包含重复项。

    【讨论】:

    • 哦,伙计太聪明了,一开始我是和len(list1)-1一起去的,然后想到了一种更Pythonic的方式,想象着那个,但后来来到这里,感谢你的回答,你刚刚救了我严重的头痛
    【解决方案7】:
    a = ['1', '2', '3', '4']
    print len(a) - 1
    3
    

    【讨论】:

    • 您应该始终在答案中添加对您提供的代码的解释。
    • @SaschaWolf 特别是当代码包含的不仅仅是答案!
    【解决方案8】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多