Ich versuche herauszufinden, die beste Möglichkeit, zwei Listen der gleichen Größe in eine Karte der Schlüssel-Wert-Paare zu kombinieren.Konvertieren Sie zwei Listen der gleichen Größe in Schlüssel-Wert-Paar in Elixir
Ich habe die gleiche Funktion verwendet, um diesen Fall für eine Weile für CSVs und Raw SQL-Abfragen zu behandeln, die eine Art Header-Liste zusammen mit Zeilenlisten zurückgeben.
Dies ist die Funktion Ich habe
benutzeEnum.zip(list1, list2) |> Enum.into(%{})
Zum Beispiel:
# 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
Gibt es Elixier/erlang eine Funktion in der dies für mich tun oder ist die obige Kombination von Zip/in den besten Weg, es zu tun?
Ihre Lösung ist gut. In den meisten Sprachen ist dies ein ziemlich üblicher Ansatz. http://rosettacode.org/wiki/Hash_from_two_arrays#Elixir – Gazler