-6

Python forループで「累積」値を取得する方法はありますか? Java では、各ループ反復中に変数への += の方法があり、それを追加し続けます。Pythonで利用できるこのようなオプションはありますか?

4

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