Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Sorting 按内部元素对元组进行排序erlang_Sorting_Erlang_Tuples - Fatal编程技术网

Sorting 按内部元素对元组进行排序erlang

Sorting 按内部元素对元组进行排序erlang,sorting,erlang,tuples,Sorting,Erlang,Tuples,我有一个元组: Data = { 'F_01_heirId', ["ak238", "ak239", "ak240", "ak241" ...], 'F_01_0014', ["some text", "some more text", "a some more", "xcuub", ...], 'F_02_0010', ["azcde", "axvdss" "scssd", "abcdefg as" ...], 'F_02_0014', ["1222", "1"

我有一个元组:

Data = {
    'F_01_heirId', ["ak238", "ak239", "ak240", "ak241" ...],
    'F_01_0014', ["some text", "some more text", "a some more", "xcuub", ...],
    'F_02_0010', ["azcde", "axvdss" "scssd", "abcdefg as" ...],
    'F_02_0014', ["1222", "1", "1", "10", ...],
    ...
    }
需要按
F_02_0010
数据进行排序,因为我们正在根据排序对
'F_02_0010'
进行排序,因此也会更改其他列表的相应元素

以下是排序后所需的输出:

Data =  {
    'F_01_heirId', ["ak241", "ak239", "ak240", "ak238" ...]
    'F_01_0014', ["xcuub", "some more text", "a some more", "some text", ...],
    'F_02_0010', ["abcdefg as", "axvdss", "scssd", "azcde",  ...],
    'F_02_0014', ["10", "1", "1", "1222", ...],
    ...

    }

您对
数据的表示方式
不太适合您要执行的任务。以下是您必须完成的步骤:

  • 数据中提取列列表
    并将它们“压缩”到行列表(或元组)列表中。您必须使用一个自定义zip函数,该函数可以处理多个或多个列表:

    manyzip([L|Ists])->
    折叠=
    乐趣(列表,Acc)->
    列表:zipwith(乐趣(A,B)->[A | B]结束,列表,Acc)
    完,,
    
    反转=列表:foldl(Fold,[[E]| E]谢谢您的重播。我将简化我的表示。我将检查答案并接受答案。
    manyzip([L|Ists]) ->
      Fold =
        fun(List, Acc) ->
          lists:zipwith(fun(A,B) -> [A|B] end,List,Acc)
        end,
      Reversed = lists:foldl(Fold, [[E] || E <- L], Ists),
      [lists:reverse(E) || E <- Reversed].