我有这个函数,它删除列表列表中某个给定元素的匹配项。
remove          :: Eq a => a -> [[a]] -> [[a]]
remove    y []  = error "Can't remove an element from an empty list"
remove    y xs  = map (filter(/=y)) xs我怎样才能使用列表理解来做同样的事情呢
谢谢
发布于 2012-05-04 19:32:26
我猜大概是这样的:
 remove y ls = [f|l <- ls, let f = filter (/= y) l]应该没问题。
它的基本内容是,对于可以在列表ls中创建的每个绑定l,将过滤后的列表f添加到结果列表中。
https://stackoverflow.com/questions/10447924
复制相似问题