在对列表上使用scala的过滤器

时间:2016-09-24 10:36:04

标签: list scala filter

我正在尝试过滤包含对的列表。

例如我的列表是

列表((1,2),(3,4),(5,2))

我想使用过滤器来过滤列表,只包含对中第一个数字大于第二个数字的答案。我怎么能这样做?

因此,结果列表将是

列表((5,2))

2 个答案:

答案 0 :(得分:3)

对第一个数字的过滤器大于第二个:

val ls = List((1,2),(3,4),(4,5),(6,2)) 
ls.filter(pair => pair._1 > pair._2) // List((6, 2))

答案 1 :(得分:3)

你的例子没有意义,但我想你仍然希望在某个谓词上过滤你的列表。

更容易解构这对:

scala> val l = List((1,2), (3,4), (4,5))
l: List[(Int, Int)] = List((1,2), (3,4), (4,5))
scala> l.filter { case (a, b) => a > b }
res0: List[(Int, Int)] = List()