defmodule Dataset do defstruct rows: [], labels: {} def new(rows \\ [], labels \\ {}) do %Dataset{rows: rows, labels: labels} end def to_map_list(_ds = %Dataset{rows: rows, labels: labels}) do for row <- rows do Map.new tuple_zip(labels, row) end end defp tuple_zip(t1, t2) do for i <- 0..tuple_size(t1)-1 do {elem(t1, i), elem(t2, i)} end end end