List 删除Elixir列表中具有连续重复的元素
我在Elixir中有一个数字列表,我想删除重复项,但只删除连续重复项 对于以下输入列表:List 删除Elixir列表中具有连续重复的元素,list,filter,elixir,List,Filter,Elixir,我在Elixir中有一个数字列表,我想删除重复项,但只删除连续重复项 对于以下输入列表:[1,1,2,2,1,1,1,1,3,3,2,2] 结果应该是:[1,2,1,3,2]完全满足您的要求:它仅用一个实例替换连续的重复元素,并返回列表中的其余元素 iex(1)> Enum.dedup([1, 1, 2, 2, 1, 1, 1, 1, 3, 3, 2, 2]) [1, 2, 1, 3, 2] 这适用于与===比较相等的所有值,包括映射: iex(2)> Enum.dedup([%{
[1,1,2,2,1,1,1,1,3,3,2,2]
结果应该是:[1,2,1,3,2]
完全满足您的要求:它仅用一个实例替换连续的重复元素,并返回列表中的其余元素
iex(1)> Enum.dedup([1, 1, 2, 2, 1, 1, 1, 1, 3, 3, 2, 2])
[1, 2, 1, 3, 2]
这适用于与===
比较相等的所有值,包括映射:
iex(2)> Enum.dedup([%{a: 1}, %{a: 2}, %{a: 2}, %{a: 2}])
[%{a: 1}, %{a: 2}]
执行您想要的操作:它仅用一个实例替换连续的重复元素,并返回列表中的其余元素
iex(1)> Enum.dedup([1, 1, 2, 2, 1, 1, 1, 1, 3, 3, 2, 2])
[1, 2, 1, 3, 2]
这适用于与===
比较相等的所有值,包括映射:
iex(2)> Enum.dedup([%{a: 1}, %{a: 2}, %{a: 2}, %{a: 2}])
[%{a: 1}, %{a: 2}]
Enum.dedup/1
?很好,我意识到Enum.dedup\u by/2
在我的例子中效果更好,因为列表中的值将是Map
notInteger
你想写一个答案@Dogbert吗?@EduardoPereira这些映射与你必须使用的Enum.dedup\u by/2
不完全相同吗?我已经发布了一个答案,其中包括作为列表元素的地图@好了,谢谢!很好,因为我的地图需要一个不同的过滤器:)但无论如何都要感谢Enum.dedup/1
?很好,我意识到Enum.dedup\u by/2
在我的情况下效果更好,因为列表上的值将是Map
而不是Integer
您想在@Dogbert?@EduardoPereira写一个答案吗?这些映射与您必须使用的Enum.dedup\u by/2
不完全相同?我已经发布了一个答案,其中包括作为列表元素的地图@好了,谢谢!很好,因为我的地图需要一个不同的过滤器:)不过还是谢谢你