在Python中的for循环中的最后一项上的Eventhandler

时间:2013-04-03 09:00:44

标签: python for-loop event-handling

我找不到任何(初学者)可读信息。是否可以在for循环中的最后一项上有一个事件:

array = ["foo", "bar", "john", "test"]
for item in array:
    print item
LastItemEvent: forLoop + lastItem
def lastItem:
    # call another function
    doneWithLoop()

或者我需要增加整数计数等吗?可怕的例子,但我希望你们明白。

3 个答案:

答案 0 :(得分:1)

item 成为循环结束时的最后一个元素,因为它接受数组中的每个值(列表真的)所以一旦完成它将被设置为最后一个。

array = ["foo", "bar", "john", "test"]
for item in array:
    print item

print "last item", item

答案 1 :(得分:1)

你可以使用else语句:

for x in range(10):
    print x
else:
    print x**2

来自Python文档:

  

当项目耗尽时(紧接着序列   是空的),else子句中的套件(如果存在)被执行,并且   循环终止。

答案 2 :(得分:0)

我猜你正在做一些奇怪的事情,如果你解释一下你真正想做的事情,会有一个更好的解决方案。但如果你真的想要做你想要的,你可以迭代所有元素,但最后一个:

for item in array[:-1]:
    do_something(item)

在那之后,你当然可以用最后一个元素做其他事情:

do_something_else(array[-1])