cod*_*onk -3 haskell functional-programming
哈斯克尔
split:: [(a,b)] -> ([a],[b])
Run Code Online (Sandbox Code Playgroud)
功能应该返回
split [(1,’a’), (2,’b’), (3,’c’)] = ([1,2,3], "abc")
Run Code Online (Sandbox Code Playgroud)
请问如何使用列表理解来做到这一点?谢谢
您正在寻找的拆分功能已存在于标准Haskell Prelude库中; 它被称为解压缩.
使用列表推导:
split xs = ([a | (a,_) <- xs], [b| (_,b) <- xs])
Run Code Online (Sandbox Code Playgroud)