我有一个列表例如: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的
答案 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