lla*_*o25 7 haskell list minimum
如何找到列表中的所有最小元素?现在我有一个元组列表,即
[(10,'a'),(5,'b'),(1,'c'),(8,'d'),(1,'e')]
因此,我希望输出是新列表中列表的所有最小元素。例如
 [(1,'c'),(1,'e')]
我试过了
minimumBy (comparing fst) xs
但这只会返回第一个最小元素。
在获得第一个值的最小值之后,我们可以过滤这些项目上的列表。因为您要在此处检索最少项目列表,所以我们也可以通过返回一个空列表来覆盖空列表:
minimumsFst :: Ord a => [(a, b)] -> [(a, b)]
minimumsFst [] = []
minimumsFst xs = filter ((==) minfst . fst) xs
    where minfst = minimum (map fst xs)例如:
Prelude> minimumsFst [(10,'a'),(5,'b'),(1,'c'),(8,'d'),(1,'e')]
[(1,'c'),(1,'e')]