我是 Haskell 的新手,我不知道为什么我会在列表中获得一个额外的元素。
这是我的代码:
module Test where
deal list = hand1
where list' = fst(splitAt 4 list)
hand1 = [snd list' | list'<- (zip [0..] list), even (fst list')]
Run Code Online (Sandbox Code Playgroud)
如果我要输入:
Test.deal [1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
它拆分要创建的列表以创建两个列表的元组,其中一个长度为 4: ([1,2,3,4],[5,6])
当我尝试获取元组中第一个列表的所有其他元素时,我得到:[1,3,5]而不是[1,3]
任何人都知道为什么它会添加 5,即使它不在列表中?