首页 > 代码库 > Erlang生成式实现的列表去重、求交集及并集

Erlang生成式实现的列表去重、求交集及并集

%集合去重,Acc初始传入为[],存放的是最终的结果

delSame([],Acc) -> Acc;

delSame([Pre|T],Acc) ->checkSame([X||X<-T,X=/=Pre],Acc++[Pre]).

 

%求交集

crossList(L1,L2) ->

   [X||X<-L1,Y<-L2,X=:=Y].

 

%求并集

mergeList(L1,L2)->

     delSame(lists:merge(L1,L2),[]).

 

总结:(1)erlang的生成式中都是guard;(2)erlang的生成式是以笛卡尔积的形式;

Erlang生成式实现的列表去重、求交集及并集