List 如何将元组列表拆分为元组列表?
我被要求按照以下方式将元组列表拆分为具有2个列表的元组:List 如何将元组列表拆分为元组列表?,list,split,erlang,tuples,List,Split,Erlang,Tuples,我被要求按照以下方式将元组列表拆分为具有2个列表的元组: splitter ([{1,2},{3,4},{5,6}]). = {[1,3,5],[2,4,6]} 我已尝试编写以下代码: splitter([]) -> {[],[]}; splitter(L) ->(map (fun ({A, _}) -> A end, L))|(map (fun ({_, B}) -> B end, L)). 而且它没有编译,我得到的错误是:前面的语法错误:'|' 问题出在哪里?:您
splitter ([{1,2},{3,4},{5,6}]). = {[1,3,5],[2,4,6]}
我已尝试编写以下代码:
splitter([]) -> {[],[]};
splitter(L) ->(map (fun ({A, _}) -> A end, L))|(map (fun ({_, B}) -> B end, L)).
而且它没有编译,我得到的错误是:前面的语法错误:'|'
问题出在哪里?:您缺少外部大括号。此外,将|替换为,因为这是用于分离元组成员的
splitter([]) -> {[],[]};
splitter(L) -> {(map (fun ({A, _}) -> A end, L)),
(map (fun ({_, B}) -> B end, L))
}.
您缺少外部的花括号。此外,将|替换为,因为这是用于分离元组成员的
splitter([]) -> {[],[]};
splitter(L) -> {(map (fun ({A, _}) -> A end, L)),
(map (fun ({_, B}) -> B end, L))
}.
空列表子句是不必要的。您也可以使用列表理解
splitter(L) -> {[ X || {X, _} <- L], [X || {_, X} <- L]}.
空列表子句是不必要的。您也可以使用列表理解
splitter(L) -> {[ X || {X, _} <- L], [X || {_, X} <- L]}.