我有一个这样的元组列表:[{key,val},{key2,val2}...]
我希望能够将其转换为地图:
#{key=>val, key2=>val2 ......}
答案 0 :(得分:5)
您可以使用the maps module中的from_list
功能:
maps:from_list(Yourlist).
答案 1 :(得分:1)
如果Hendri的解决方案对您来说太简单了,那么您可以这样做:
-module(my).
-compile(export_all).
create_map(List_Of_Key_Val_Tuples) ->
create_map(List_Of_Key_Val_Tuples, #{}).
create_map([], Acc) ->
Acc;
create_map([{Key, Val} | Tail], Acc) ->
create_map(Tail, Acc#{Key => Val}).
在外壳中:
11> c(my).
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}
12> my:create_map([{a, 10}, {"hello", hi}, {fun(X) -> X+2 end, add_two}]).
#{a => 10,#Fun<erl_eval.6.99386804> => add_two,"hello" => hi}