List 删除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([%{

我在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([%{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
not
Integer
你想写一个答案@Dogbert吗?@EduardoPereira这些映射与你必须使用的
Enum.dedup\u by/2
不完全相同吗?我已经发布了一个答案,其中包括作为列表元素的地图@好了,谢谢!很好,因为我的地图需要一个不同的过滤器:)但无论如何都要感谢
Enum.dedup/1
?很好,我意识到
Enum.dedup\u by/2
在我的情况下效果更好,因为列表上的值将是
Map
而不是
Integer
您想在@Dogbert?@EduardoPereira写一个答案吗?这些映射与您必须使用的
Enum.dedup\u by/2
不完全相同?我已经发布了一个答案,其中包括作为列表元素的地图@好了,谢谢!很好,因为我的地图需要一个不同的过滤器:)不过还是谢谢你