當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。