初歩的な質問 -- 通常、マルチマップとして何を使用しますか? ラベル付け関数を取り、各ラベルで要素を分割する関数が必要です。例えば、
f x | x `mod` 2 == 0 = EVEN
| otherwise = ODD
partition f lst
whereの出力lst :: [Int]
は
EVEN --> [list of even numbers]
ODD --> [sublist of odd numbers]
お手数をおかけして申し訳ありませんが、Hoogle で同様のものを見つけることができませんでした。Data.List.Key
のgroup
関数、 、およびいくつかのマッピングを介してそこに到達できると思いますsort
が、もっと簡単な方法があるはずですよね? これは一般的に便利な機能のようです。