Python forループで「累積」値を取得する方法はありますか? Java では、各ループ反復中に変数への += の方法があり、それを追加し続けます。Pythonで利用できるこのようなオプションはありますか?
質問する
4115 次
4 に答える
3
非常に多くの方法。Python はこれらを「インプレース」演算子と呼びます。
Python 3 ではfunctoolsに移動した のような関数型アプローチsum
や、より一般的なアキュムレータもあります。reduce
acc = 0
for i in range(10):
acc += i
また
acc = sum(range(10))
また
from operator import add
from functools import reduce
acc = reduce(add, range(10))
于 2013-10-15T13:02:02.957 に答える
1
foo = 0
for i in range(0, 12):
foo += 1
print(foo)
于 2013-10-15T13:00:19.530 に答える
1
はい、+=
Python には演算子があります。
x = 0
for i in range(10):
x += 1
print x
于 2013-10-15T13:00:56.530 に答える
0
for i in range(0, 5):
print i
出力:
0
1
2
3
4
または、複数で移動する場合は、次のようにします。
for i in range(0, 10, 2):
print i
出力:
0
2
4
6
8
于 2013-10-15T13:01:17.087 に答える