> Erlang中文手册 > zipwith3/4 根据一个合成函数规则把 3 个列表合为一个列表

lists:zipwith3/4

根据一个合成函数规则把 3 个列表合为一个列表

用法:

zipwith3(Combine, List1, List2, List3) -> List4

内部实现:

-spec zipwith3(Combine, List1, List2, List3) -> List4 when
      Combine :: fun((X, Y, Z) -> T),
      List1 :: [X],
      List2 :: [Y],
      List3 :: [Z],
      List4 :: [T],
      X :: term(),
      Y :: term(),
      Z :: term(),
      T :: term().

zipwith3(F, [X | Xs], [Y | Ys], [Z | Zs]) ->
    [F(X, Y, Z) | zipwith3(F, Xs, Ys, Zs)];
zipwith3(F, [], [], []) when is_function(F, 3) -> [].

根据一个合成函数 Combine 的规则把 3 个列表合为一个列表

lists:zipwith3(fun(X, Y, Z) -> X + Y + Z end, [1, 2, 3], [4, 5, 6], [7, 8, 9]).