Pythonでは、リスト内包だけで幾何学的な進行を生成できますか?リストに追加された要素を参照する方法はわかりません。Python:リスト内包を使って幾何学的な進行を生成する
Writing python code to calculate a Geometric progressionまたはGenerate list - geometric progressionのようになります。
Pythonでは、リスト内包だけで幾何学的な進行を生成できますか?リストに追加された要素を参照する方法はわかりません。Python:リスト内包を使って幾何学的な進行を生成する
Writing python code to calculate a Geometric progressionまたはGenerate list - geometric progressionのようになります。
リスト内包表記では、以前の値を参照することはできません。あなたはmore appropriate toolを使用することによってこの問題を回避できます。
from itertools import accumulate
from operator import mul
length = 10
ratio = 2
progression = list(accumulate([ratio]*length, mul))
または以前の値の使用を避けることにより:
progression = [start * ratio**i for i in range(n)]
等比数列がa_n = a * r ** (n - 1)
とa_n = r * a_(n - 1)
によって定義されている場合、あなただけ行うことができます以下:
a = 2
r = 5
length = 10
geometric = [a * r ** (n - 1) for n in range(1, length + 1)]
print(geometric)
# [2, 10, 50, 250, 1250, 6250, 31250, 156250, 781250, 3906250]