Mam wartość wejściowa val
oraz listę funkcji, które mają być stosowane w kolejności:Zastosuj listę funkcji Pythona w celu elegancko
funcs = [f1, f2, f3, ..., fn]
Jak ubiegać elegancko a nie pisanie
fn(... (f3(f2(f1(val))) ...)
, a także nie używa pętli:
tmp = val
for f in funcs:
tmp = f(tmp)
Dzięki Martijn za wspaniałą odpowiedź. Jest trochę czytania, które znalazłem: https://mathieularose.com/function-composition-in-python/.
doskonała odpowiedź! Uwielbiam "List.fold_left" OCamla, aw Pythonie mamy 'functools.reduce()' :) – Viet
@Viet: zobacz [lista Wikipedia * zwiń * w różnych językach programowania] (https://en.wikipedia.org/wiki/Fold_ (higher-order_function) #Folds_in_various_languages). –