-2

私は関数の配列を持っています:

functions = [function_a,function_b,square,...,last_function]

function_a(function_b(square(...(last_function("hello"))..))) の出力を1行の変数で取得し、ドットをリスト内包表記で置き換えたいと思います。

このような :

tmp = input
for f in functions:
  tmp = f(tmp)
output = tmp

tmp を使用せずに、1 行で。

4

1 に答える 1

3
your_value = 3
result = reduce(lambda x, y: y(x), function_list, your_value)

例えば:

>>> functions = [lambda x: x + 2, lambda x: x * 2]
>>> reduce(lambda x, y: y(x), functions, 1)
6
于 2013-08-21T09:26:05.627 に答える