List 在列表中组合元组元素
在elixir中工作,我有一个列表,我想将其简化为唯一键,将列表元素合并在一起: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_
[{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的功能,这太好了。我需要通过