จากธัชพล split_list(L,1) -> [L]; split_list(L,N) -> {Head,Tail}=lists:split(length(L) div N,L), [Head|split_list(Tail,N-1)]. โค้ดเดิม split_first(0,L,O) -> {lists:reverse(O),L}; split_first(_,[],O) -> split_first(0,[],O); split_first(N,[X|XS],O) -> split_first(N-1,XS,[X|O]). split_first(N,L) -> split_first(N,L,[]). split_list_size(_,_,0,Out) -> Out; split_list_size(L,_,1,Out) -> [L|Out]; split_list_size(L,S,N,Out) -> {H,T} = split_first(S,L), split_list_size(T,S,N-1,[H|Out]). split_list_size(L,S,N) -> split_list_size(L,S,N,[]). split_list(L,N) -> Len = length(L), S = Len div N, split_list_size(L,S,N).