lists:flatlength/1
获取一个多层嵌套列表的长度
用法:
flatlength(DeepList) -> int()
内部实现:
%% flatlength(List) %% Calculate the length of a list of lists. -spec flatlength(DeepList) -> non_neg_integer() when DeepList :: [term() | DeepList]. flatlength(List) -> flatlength(List, 0). flatlength([H|T], L) when is_list(H) -> flatlength(H, flatlength(T, L)); flatlength([_|T], L) -> flatlength(T, L + 1); flatlength([], L) -> L.
获取一个多层嵌套列表的长度,即该嵌套列表里的非列表元素的个数,等同于调用 length(flatten(DeepList))
lists:flatlength([[1], [2], 3, [4, [5, 6, [7, 8]]]]).