Ada*_* R. 0 haskell split tuples list
我有一个类似于Haskell的列表
[([], "str1"), ([], "str2"), ([1], "ser1")]
Run Code Online (Sandbox Code Playgroud)
我想将它拆分为单独的2元组列表,其中每个元组的第一个元素是相同的,就像这样
[([], "str1"), ([], "str2")]
[([1], "ser1")]
Run Code Online (Sandbox Code Playgroud)
我一直在关注它Data.List.Split的splitWhen功能,但我一直无法ghc接受它的谓词,因为我收集它实际上并不意味着这样做.
我想你可以使用groupBy:
> import Data.List
> import Data.Function
> let xs = [([], "str1"), ([], "str2"), ([1], "ser1")]
> groupBy ((==) `on` fst) xs
[[([],"str1"),([],"str2")], [([1],"ser1")]]
Run Code Online (Sandbox Code Playgroud)