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

lists:zipwith/3

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

用法:

zipwith(Combine, List1, List2) -> List3

内部实现:

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

zipwith(F, [X | Xs], [Y | Ys]) -> [F(X, Y) | zipwith(F, Xs, Ys)];
zipwith(F, [], []) when is_function(F, 2) -> [].

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

lists:zipwith(fun(X, Y) -> X + Y end, [1, 2, 3], [4, 5, 6]).