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

Nat*_*son 8 elixir keyvaluepair

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

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

这是我一直在使用的功能

Enum.zip(list1, list2) |> Enum.into(%{})
Run Code Online (Sandbox Code Playgroud)

例如:

# 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
Run Code Online (Sandbox Code Playgroud)

elixir/erlang中是否有一个函数可以为我执行此操作,或者上面的zip /组合是最好的方法吗?

Nat*_*son 15

在与少数人讨论之后,我使用的方法是完成将键列表映射到值列表的最佳方法.

Enum.zip(list1, list2) |> Enum.into(%{})
Run Code Online (Sandbox Code Playgroud)