在Python中访问列表中的最后一个元素

时间:2013-03-15 19:37:49

标签: python

我有一个列表例如:list_a = [0,1,3,1]

我试图遍历每个数字这个循环,如果它命中列表中的最后一个“1”,则打印“这是列表中的最后一个数字”

因为有两个1,访问列表中最后一个1的方法是什么?

我试过了:

 if list_a[-1] == 1:
      print "this is the last"  
   else:
     # not the last

这不起作用,因为第二个元素也是1。 尝试:

if list_a.index(3) == list_a[i] is True:
   print "this is the last"

也没有用,因为有两个1的

5 个答案:

答案 0 :(得分:13)

list_a[-1]是访问最后一个元素的方法

答案 1 :(得分:6)

您可以使用enumerate遍历列表中的项目以及这些项目的索引。

for idx, item in enumerate(list_a):
    if idx == len(list_a) - 1:
        print item, "is the last"
    else:
        print item, "is not the last"

结果:

0 is not the last
1 is not the last
3 is not the last
1 is the last

答案 2 :(得分:2)

在Python 2.7.3上测试

此解决方案适用于任何大小的列表。

list_a = [0,1,3,1]

^我们定义list_a

last = (len(list_a) - 1)

^我们计算列表中元素的数量并减去1.这是最后一个元素的坐标。

print "The last variable in this list is", list_a[last]

^我们显示信息。

答案 3 :(得分:0)

a = [1, 2, 3, 4, 1, 'not a number']
index_of_last_number = 0

for index, item in enumerate(a):
    if type(item) == type(2):
        index_of_last_number = index

输出为4,索引在最后一个整数的数组a中。如果要包含整数以外的类型,可以将类型(2)更改为类型(2.2)或其他类型。

答案 4 :(得分:0)

要确保您找到最后一个“1”的实例,您必须查看列表中的所有项目。最后一个“1”可能不是列表中的最后一项。因此,您必须查看列表,并记住找到的最后一个索引,然后您可以使用此索引。

list_a = [2, 1, 3, 4, 1, 5, 6]

lastIndex = 0

for index, item in enumerate(list_a):
    if item == 1:
        lastIndex = index

print lastIndex

输出:

4