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 に答える