筛选元组列表并返回值fst和snd值相同的最佳方法是什么?
[(2,1),(2,2),(3,1),(10,9),(10,10)]
Run Code Online (Sandbox Code Playgroud)
将返回(2,2)和(10,10).
Tik*_*vis 12
最简单的方法是使用filterlambda : filter (\ (a, b) -> a == b) ls.
你也可以变得可爱和使用uncurry,它将两个参数的正常函数改为一个带有元组的函数,给你filter (uncurry (==)).请记住,这(==)只是类型的函数Eq a => a -> a -> Bool,因此uncurry (==)是类型的函数Eq a => (a, a) -> Bool,这正是您正在寻找的.
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |