Tôi có một giá trị đầu vào val
và một danh sách các hàm được áp dụng theo thứ tự:Áp dụng một danh sách các hàm Python để thanh lịch
funcs = [f1, f2, f3, ..., fn]
Làm thế nào để áp dụng thanh lịch và không viết
fn(... (f3(f2(f1(val))) ...)
và cũng không sử dụng cho vòng lặp:
tmp = val
for f in funcs:
tmp = f(tmp)
Cảm ơn Martijn vì câu trả lời tuyệt vời. Có một số đọc tôi tìm thấy: https://mathieularose.com/function-composition-in-python/.
Perfect câu trả lời! Tôi yêu 'List.fold_left' của OCaml và bằng Python, chúng ta có' functools.reduce() ':) – Viet
@Viet: xem [danh sách Wikipedia * gấp * trong các ngôn ngữ lập trình khác nhau] (https://en.wikipedia.org/wiki/Fold_ (thứ tự cao hơn_function) #Folds_in_various_languages). –