You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Erlang中实现Map到键值元组列表转换的函数方法

Erlang Map转键值元组列表的方法

方法一:使用内置函数(推荐)

Erlang标准库的maps模块自带to_list/1函数,能直接把Map转换成包含键值元组的列表,这是最简洁高效的方案:

A = #{a => 1, b => 2, c => 3},
List = maps:to_list(A).

执行后List的值就是 [{a,1},{b,2},{c,3}]。

方法二:手动实现递归转换

如果需要自定义转换逻辑(比如过滤特定键值、调整元组顺序),可以自己写递归函数实现:

map_to_list(Map) ->
    map_to_list(maps:keys(Map), Map, []).

map_to_list([Key|Rest], Map, Acc) ->
    Value = maps:get(Key, Map),
    map_to_list(Rest, Map, [{Key, Value}|Acc]);
map_to_list([], _, Acc) ->
    lists:reverse(Acc).

调用示例:

A = #{a => 1, b => 2, c => 3},
List = map_to_list(A).

执行后同样能得到目标列表,不过这种方式仅在需要自定义处理时使用,日常场景优先用内置函数更合适。

内容的提问来源于stack exchange,提问作者MemeFast King

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:35:21