如何将类似[{1,2},{3,4}]
这样的两个元素的列表优雅地转换为映射%{1=>2, 3=>4}
?
使用关键字列表将很容易,但如果我们有任意键怎么办?
如何将类似[{1,2},{3,4}]
这样的两个元素的列表优雅地转换为映射%{1=>2, 3=>4}
?
使用关键字列表将很容易,但如果我们有任意键怎么办?
最简单的方法是:
Enum.into(list, %{})
Map
模块还支持将此类列表作为 new
函数的参数:
iex> Map.new([{1, 2}, {3, 4}])
%{1 => 2, 3 => 4}
list = [{1,2},{3,4}]
themap = for e <- list, into: %{}, do: e
Enum.into(list, %{})
。 - bitwalker
Enum.into/2
文档 - s3cur3Map.new/1
被创建之前写的,但是Map.new
是最简单的方法(参见 Denis 的答案)。 - Adam Millerchip