In Elixir it’s quite easy with Enum.group_by/3:
iex> Enum.group_by(values, fn {key, _} -> key end, fn {_, value} -> value end)
%{
"Caerus1" => ["Ramses Refiner", "Jupiter Refiner", "Jupiter Other",
"Trader 13", "Cathode Supplier 4"],
"Dionysus3" => ["Cathode Supplier 4", "Ramses Refiner", "Trader 13",
"Jupiter Refiner", "Jupiter Other"],
"Prometheus2" => ["Jupiter Other", "Ramses Refiner", "Trader 13",
"Cathode Supplier 4", "Jupiter Refiner"]
}
2
solved Spanning repeatable keys