要删除Erlang列表中的重复项,可以使用以下函数:
-module(remove_duplicates).
-export([remove_duplicates/1]).
remove_duplicates(List) ->
F = fun(Elem, Acc) ->
case lists:member(Elem, Acc) of
true -> Acc;
false -> [Elem|Acc]
end
end,
lists:reverse(lists:foldl(F, [], List)).
使用该函数可以将一个包含重复项的列表转换为一个不包含重复项的列表。例如:
remove_duplicates:remove_duplicates([1, 2, 3, 4, 4, 5, 6, 6, 7]).
% Output: [1,2,3,4,5,6,7]