Haskell 在哈斯克尔。如何将拆分列表分解为元组
Haskell 在哈斯克尔。如何将拆分列表分解为元组,haskell,tuples,Haskell,Tuples,splitList n xs:根据提供的索引n将列表xs拆分为两个列表的元组 示例: splitList 3 [1..5] ⇒ ([1,2,3], [4,5]) splitList 3 [1..] ⇒ ([1,2,3], [4..]) splitList 9 [] ⇒ ([], []) 如何解决它?这是一种可能的解决方案: splitList :: Int -> [a] -> ([a], [a]) splitList _ [] = ([], []) splitList n xs =
splitList n xs
:根据提供的索引n
将列表xs
拆分为两个列表的元组
示例:
splitList 3 [1..5] ⇒ ([1,2,3], [4,5])
splitList 3 [1..] ⇒ ([1,2,3], [4..])
splitList 9 [] ⇒ ([], [])
如何解决它?这是一种可能的解决方案:
splitList :: Int -> [a] -> ([a], [a])
splitList _ [] = ([], [])
splitList n xs = (take n xs, drop n xs)
您正在查找
数据.List.splitAt
。为什么在这里破坏您自己的问题?
splitAt :: Int -> [a] -> ([a], [a])
λ> splitAt 3 [1..5]
([1,2,3],[4,5])