我目前正在努力解决在列表列表中将当前列表拆分为两个的问题。例如,如果我有:
[[A,B,C,F],[F,G,H,I]]
有什么简单的方法可以拆分第二个列表(因为 F 是头部),这样你最终得到
[[A,B,C,F],[F],[G,H,I]]
我以不同的方式尝试过,但我找不到从函数返回两个单独值的方法。此外,由于我想拆分的值在多个内部列表中重复,我只想在它是列表的头部时拆分,而不是其他时间。我是这样尝试的:
splitList [] = [];
splitList (F:xs) = [[F]] ++ [xs];
splitList x = [x];
然而,这显然返回了整个列表中的列表列表,导致它反过来不起作用,因为我将它映射到列表中的每个元素。任何帮助将不胜感激,因为我最近才开始在 Haskell 工作。