0
我有一個Elixir中的數字列表,我想刪除重複項,但僅限於連續投擲。刪除在Elixir列表中連續投擲的元素
對於以下輸入列表:[1,1,2,2,1,1,1,1,3,3,2,2]
。
結果應該是:[1,2,1,3,2]
。
我有一個Elixir中的數字列表,我想刪除重複項,但僅限於連續投擲。刪除在Elixir列表中連續投擲的元素
對於以下輸入列表:[1,1,2,2,1,1,1,1,3,3,2,2]
。
結果應該是:[1,2,1,3,2]
。
Enum.dedup/1
完全符合您的要求:它只用一個實例替換連續的重複元素,並返回列表中的其餘元素。
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'? – Dogbert
不錯,我意識到'Enum.dedup_by/2'在我的情況下效果更好,因爲列表中的值將是'Map'而不是'Integer' –
你想寫一個答案@Dogbert? – narrowtux