Tôi đang cố gắng tìm ra cách tốt nhất để kết hợp hai danh sách có cùng kích thước vào bản đồ các cặp giá trị khóa.Chuyển đổi hai danh sách có cùng kích thước thành cặp khóa giá trị trong elixir
Tôi đã sử dụng cùng chức năng để xử lý trường hợp này trong một thời gian cho CSV và truy vấn SQL thô trả về một số loại danh sách tiêu đề cùng với danh sách hàng.
Đây là chức năng Tôi đã sử dụng
Enum.zip(list1, list2) |> Enum.into(%{})
Ví dụ:
# 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
Có một hàm trong elixir/erlang mà sẽ làm việc này cho tôi hay là sự kết hợp trên của zip/vào cách tốt nhất để làm điều đó?
Giải pháp của bạn là tốt. Nó là một cách tiếp cận khá phổ biến trong hầu hết các ngôn ngữ. http://rosettacode.org/wiki/Hash_from_two_arrays#Elixir – Gazler