我试图找出将两个相同大小的列表组合到键值对映射中的最佳方法.
我一直在使用相同的函数来处理这种情况一段时间用于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(%{})