List 在列表中组合元组元素

List 在列表中组合元组元素,list,tuples,elixir,List,Tuples,Elixir,在elixir中工作,我有一个列表,我想将其简化为唯一键,将列表元素合并在一起: [{abc',[%{a:“a”},{“bcd”,[%{a:“a”}]},{“bcd”,[%{a:“b”}]}] 有人能想出一种简洁的方法来组合元素以达到目的吗 [{abc]、[%{a:a}]}、{bcd]、[%{a:a}、%{a:b}]}]救援: ▶ 列表=[{“abc”、[%{a:“a”}]}、{“bcd”、[%{a:“a”}]}、{“bcd”、[%{a:“b”}]}] ▶ list |>Enum.group_

在elixir中工作,我有一个列表,我想将其简化为唯一键,将列表元素合并在一起:

[{abc',[%{a:“a”},{“bcd”,[%{a:“a”}]},{“bcd”,[%{a:“b”}]}]

有人能想出一种简洁的方法来组合元素以达到目的吗

[{abc]、[%{a:a}]}、{bcd]、[%{a:a}、%{a:b}]}]

救援:

▶ 列表=[{“abc”、[%{a:“a”}]}、{“bcd”、[%{a:“a”}]}、{“bcd”、[%{a:“b”}]}]
▶ list |>Enum.group_by(fn{k,{}->k end,fn{u,[v]}->v end)
#⇒%{“abc”=>[%{a:“a”}],“bcd”=>[%{a:“a”},%{a:“b”}]}
如果您坚持在最后有一个元组列表,只需附加到链:

|>Enum.into([])
#⇒[{“abc”、[%{a:a}]}、{“bcd”、[%{a:a}、%{a:b}]}]
适用于任何大小的值列表的通用解决方案:

▶ 列表
▷ |> Enum.group_by(fn{k,{}->k end,fn{u,v}->v end)
▷ |> Enum.map(fn{k,v}->{k,List.flatte(v)}end)
#⇒[{“abc”、[%{a:a}]}、{“bcd”、[%{a:a}、%{a:b}]}]
前来救援:

▶ 列表=[{“abc”、[%{a:“a”}]}、{“bcd”、[%{a:“a”}]}、{“bcd”、[%{a:“b”}]}]
▶ list |>Enum.group_by(fn{k,{}->k end,fn{u,[v]}->v end)
#⇒%{“abc”=>[%{a:“a”}],“bcd”=>[%{a:“a”},%{a:“b”}]}
如果您坚持在最后有一个元组列表,只需附加到链:

|>Enum.into([])
#⇒[{“abc”、[%{a:a}]}、{“bcd”、[%{a:a}、%{a:b}]}]
适用于任何大小的值列表的通用解决方案:

▶ 列表
▷ |> Enum.group_by(fn{k,{}->k end,fn{u,v}->v end)
▷ |> Enum.map(fn{k,v}->{k,List.flatte(v)}end)
#⇒[{“abc”、[%{a:a}]}、{“bcd”、[%{a:a}、%{a:b}]}]

是嵌套列表吗?是元组列表,第二个值是映射数据列表。我想将映射数据组合成一个元组,并且只有唯一的元组
“keys”
。这是一个嵌套列表吗?它是一个元组列表,第二个值是一个映射数据列表。我想将映射的数据组合成一个元组,并且只有唯一的元组
“key”
。这太好了。我需要通过阅读更多关于
groupu\u的功能,这太好了。我需要通过