0

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

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

还是我需要增加整数计数等?可怕的例子,但我希望你们能理解。

4

3 回答 3

1

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

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

print "last item", item
于 2013-04-03T09:02:06.507 回答
1

我猜你可以使用 else 语句:

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

来自 Python 文档:

当项目用尽时(即序列为空时立即),else 子句中的套件(如果存在)将被执行,并且循环终止。

于 2013-04-03T09:16:55.353 回答
0

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

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

在那之后,你当然可以对最后一个元素做一些别的事情:

do_something_else(array[-1])
于 2013-04-03T09:16:45.467 回答