Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
将两个大小相同的列表转换为elixir中的键值对_Elixir_Keyvaluepair - Fatal编程技术网

将两个大小相同的列表转换为elixir中的键值对

将两个大小相同的列表转换为elixir中的键值对,elixir,keyvaluepair,Elixir,Keyvaluepair,我试图找出将两个相同大小的列表组合成键值对映射的最佳方法 一段时间以来,我一直在使用相同的函数来处理CSV和原始SQL查询的这种情况,这些查询返回某种类型的头列表和行列表 这是我一直在使用的函数 Enum.zip(list1, list2) |> Enum.into(%{}) 例如: # For CSVS header = ["column1","column2","column3"] rows = [["a","b","c"],["d","e","f"]] Enum.each rows

我试图找出将两个相同大小的列表组合成键值对映射的最佳方法

一段时间以来,我一直在使用相同的函数来处理CSV和原始SQL查询的这种情况,这些查询返回某种类型的头列表和行列表

这是我一直在使用的函数

Enum.zip(list1, list2) |> Enum.into(%{})
例如:

# For CSVS
header = ["column1","column2","column3"]
rows = [["a","b","c"],["d","e","f"]]
Enum.each rows, fn(row) ->                                                                                                                                                                              
  # Map the header to each row field                                                                                                                                                                    
  row = Enum.zip(header, row) |> Enum.into(%{})
  # Do some processing with the row
  IO.inspect row                                                                                                                                            
end

elixir/erlang中是否有一个函数可以为我实现这一点,或者上面的zip/组合是实现这一点的最佳方式?

我有一个类似的问题,我问了这个问题,得到了一个与您的方法完全相同的答案


您使用的是一个很好的解决方案。现在您必须坚持使用它。

在与一些人讨论后,我使用的方法是完成键列表到值列表映射的最佳方法

Enum.zip(list1, list2) |> Enum.into(%{})

你的解决方案很好。在大多数语言中,这是一种相当常见的方法。