我们如何跳到python中的最后一个元素?
ITS现在清楚!!!!!!!!!!!!
所以例如我有一个列表
foo = ['hello', 'world','how']
而且,我有这个循环
for i in foo:
----------Codes to skip to last element.--------
因此,变量'i'成为foo中的最后一个元素,即'how'。
if i == 'how':
print 'success!'
是的,我想知道在for循环中是否有任何方法可以这样做,而不是在外面。
我找到的最接近的是:
Python skipping last element in while iterating a list using for loop
请在解释中添加有关其工作原理的答案。
编辑:此外,如果不可能,请解释原因(可选)。
答案 0 :(得分:2)
您不必在整个列表上运行:
foo = ['hello', 'world','how']
for i in foo[:-1]:
........
您还可以通过以下方式识别它是否是最后一个:
foo = ['hello', 'world','how']
for i in foo:
if i == foo[-1]:
print "I'm the last.."
有关列表的详细信息,请参阅Docs
你有一个非常好的教程here
答案 1 :(得分:1)
跳过最后一个元素的另一种方法
>>> for index, item in enumerate(foo):
if index==(len(foo)-1):
# last element
else:
# Do something
答案 2 :(得分:1)
我的理解是你要检查你是否在没有中断的情况下到达周期的末尾。 Python具有漂亮的 for ... else 和 while..else 构造。 在循环完成时使用else子句而不会中断 这样代码的骨架就是:
for word in foo:
... you may break out
else:
print success
简单而优雅(也更高效)
修改强> 好的,现在我得到了你想要的东西。您可以使用切片 - 如建议的那样,但 itertools 的 islice 将更好地完成工作:
from itertools import islice:
for word in islice(foo, len(foo)-1):