当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang groups_from_list(KeyFun, ValueFun, List)用法及代码示例


groups_from_list(KeyFun, ValueFun, List) -> GroupsMap
OTP 25.0
类型:
KeyFun = fun((Elem) -> Key)
ValueFun = fun((Elem) -> Value)
GroupsMap = #{Key := Group}
Key = Value = term()
List = [Elem]
Group = [Value]
Elem = term()

将给定的 List 划分为组映射。

结果是一个映射,其中每个键由 KeyFun 给出,每个值都是给定 List 中的元素列表,通过 ValueFun 映射,其中 KeyFun 返回相同的键。

每个组列表中元素的顺序均保留在原始列表中。

例子:

> EvenOdd = fun(X) -> case X rem 2 of 0 -> even; 1 -> odd end end,
> Square = fun(X) -> X * X end,
> maps:groups_from_list(EvenOdd, Square, [1, 2, 3]).
#{even => [4], odd => [1, 9]}
> maps:groups_from_list(
    fun erlang:length/1,
    fun lists:reverse/1,
    ["ant", "buffalo", "cat", "dingo"]).
#{3 => ["tna", "tac"],5 => ["ognid"],7 => ["olaffub"]}

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 groups_from_list(KeyFun, ValueFun, List) -> GroupsMap。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。