> Erlang中文手册 > sublist/2 截取一定长度的列表

lists:sublist/2

截取一定长度的列表

用法:

sublist(List1, Len) -> List2

内部实现:

-spec sublist(List1, Len) -> List2 when
      List1 :: [T],
      List2 :: [T],
      Len :: non_neg_integer(),
      T :: term().

sublist(List, L) when is_integer(L), is_list(List) ->
    sublist_2(List, L).

sublist_2([H|T], L) when L > 0 ->
    [H|sublist_2(T, L-1)];
sublist_2(_, 0) ->
    [];
sublist_2(List, L) when is_list(List), L > 0 ->
    [].

截取从第一个元素到第 Len 个元素的列表,如果 Len 大于 List1 的长度,则返回 List1。

lists:sublist([1, 2, 3, 4, 5], 3).