我有一个接受列表的函数,如果列表中有两个相同且连续的数字,如果列表中的其他地方有一个数字x是等价的,那么我想将x更改为0并返回列表。twoAdjThenThirdZero (x:y:xs) = [if x == y && x `elem` xs then 0 else x | x <- xs]
由于某种原因,每次我尝试运行它时,它都会忽略列表中的前两个元素*Main> twoAdjThen
sum1::[Int]->[Int]sum1 (x:xs) = [x|x<-xs,x `mod` 2 ==0] Instance of Num [Int] required for definition of sum1
另外,请解释一下(x:xs)的功能。如果我们想得到列表中的第n个元素,我们如何得到它?
我有一个问题,当我需要使用列表理解时,问题是这样的:我收到了列表,我必须计数并返回另一个列表,其中包含每个数字o( 0-5)出现的次数。happens 1 time-numer 2 occurs 1 time -and so onoccurs n (x:xs) | n == x = 1+ occurs ( n xs)