Haskell 从元组列表中删除元素

Haskell 从元组列表中删除元素,haskell,Haskell,假设我有元组列表: [('X', 3.0), ('B', 0.0), ('N', 4.33)] 我想要一个从第二个元素为0或以下的列表中删除所有元组的函数。我的尝试: dELS :: [(Char, Float)] -> [(Char, Float)] dELS x = [c | c <- x, snd x > 0.0] 想法?当您打开c0.0而不是x时。因此,当您打开c0.0而不是x时,将最后一个x更改为c。因此,将最后一个x更改为c更改为snd c>0您使用的编译器是

假设我有元组列表:

[('X', 3.0), ('B', 0.0), ('N', 4.33)]
我想要一个从第二个元素为0或以下的列表中删除所有元组的函数。我的尝试:

dELS :: [(Char, Float)] ->  [(Char, Float)]
dELS x = [c | c <- x, snd x > 0.0]

想法?

当您打开
c0.0
而不是
x
时。因此,当您打开
c0.0
而不是
x
时,将最后一个
x
更改为
c

。因此,将最后一个
x
更改为
c

更改为
snd c>0
您使用的编译器是什么?这看起来不像GHC输出…@备选方案:三个星号表示拥抱。可怜的达里奥普;-)更改为
snd c>0
您使用的编译器是什么?这看起来不像GHC输出…@备选方案:三个星号表示拥抱。可怜的达里奥普;-)
*** Expression     : snd x
*** Term           : x
*** Type           : [(Char,Float)]
*** Does not match : (a,b)