Próbuję znaleźć najlepszy sposób na połączenie dwóch list o tym samym rozmiarze w mapę par wartości klucza.Konwertuj dwie listy o tym samym rozmiarze do pary wartości klucza w eliksiru
Używam tej samej funkcji do obsługi tej sprawy przez jakiś czas dla plików CSV i nieprzetworzonych zapytań SQL, które zwracają jakąś listę nagłówków wraz z listami wierszy.
Jest to funkcja Używam
Enum.zip(list1, list2) |> Enum.into(%{})
Na przykład:
# 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
Czy istnieje funkcja w eliksiru/Erlang, że zrobi to za mnie czy powyższa kombinacja zip/w najlepszy sposób to zrobić?
Twoje rozwiązanie jest dobre. Jest to dość powszechne podejście w większości języków. http://rosettacode.org/wiki/Hash_from_two_arrays#Elixir – Gazler