Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何将元组列表拆分为元组列表?_List_Split_Erlang_Tuples - Fatal编程技术网

List 如何将元组列表拆分为元组列表?

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)). 而且它没有编译,我得到的错误是:前面的语法错误:'|' 问题出在哪里?:您

我被要求按照以下方式将元组列表拆分为具有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([]) -> {[],[]};
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]}.