将两个相同大小的列表转换为长生不老药中的键值对

Convert two lists of same size to key value pair in elixir

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

一段时间以来,我一直在使用相同的函数来处理 CSV 和原始 SQL 查询,其中 return 某种 header 列表以及行列表。

这是我一直在使用的功能

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/into 的组合是否是执行此操作的最佳方法?

我有一个类似的问题,我在 elixir-lang slack group 上问过它,得到的答案与您的方法完全一样。

你用的很好solution.For现在要坚持

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

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