如何从Elixir中的两个项元组列表创建映射

sid*_*dev 58 elixir

将两个项目元组列表[{1,2},{3,4}]转换为地图的优雅方法是%{1=>2, 3=>4}什么?

关键字列表将是微不足道的,但如果我们有任意键怎么办?

bit*_*ker 108

最简单的方法是:

Enum.into(list, %{})
Run Code Online (Sandbox Code Playgroud)

  • 一定要喜欢这种语言 (11认同)
  • 它适用于任何两项目元组列表,如原始帖子中所述。关键字列表特别是两项元组,其中第一项是原子,并且是比两项元组列表更窄的类别。 (3认同)
  • 这个答案是在“Map.new/1”被[创建](https://github.com/elixir-lang/elixir/commit/aebd7e5143dcbe32e33f6ca5cb2374bcc5532789)之前写的,但是“Map.new”是最简单的方法(参见denis)回答)。 (3认同)

den*_*lin 16

Map模块还支持这样的列表作为new函数的参数:

Map.new list
Run Code Online (Sandbox Code Playgroud)