例:NestList(f、x、3)----> [x、f(x)、f(f(x))、f(f(f(x)))]
質問する
609 次
3 に答える
6
あなたはそれをジェネレータとして書くことができます:
def nestList(f,x,c):
for i in range(c):
yield x
x = f(x)
yield x
import math
print list(nestList(math.cos, 1.0, 10))
または、結果をリストとして表示する場合は、ループで追加できます。
def nestList(f,x,c):
result = [x]
for i in range(c):
x = f(x)
result.append(x)
return result
import math
print nestList(math.cos, 1.0, 10)
于 2012-09-15T07:07:10.350 に答える
1
def nest_list(f, x, i):
if i == 0:
return [x]
return [x] + nest_list(f, f(x), i-1)
def nest_list(f, x, n):
return [reduce(lambda x,y: f(x), range(i), x) for i in range(n+1)]
私は別の方法を見つけました!
于 2012-09-15T08:54:09.547 に答える
1
モジュールを使用しfunctional
ます。scanl
これには、削減の各段階を生成する、と呼ばれる関数があります。次に、のインスタンスのリストを減らすことができますf
。
于 2012-09-16T19:22:24.320 に答える