如何使用Scala中的某些条件从一个列表创建两个列表。 使用过滤器我会获得单个列表,也许某个函数返回元组?
答案 0 :(得分:2)
有一个叫做分区的功能:
def partition(p: (A) ⇒ Boolean): (List[A], List[A])
我想这就是你想要的。
示例:
scala> (0 to 10).toList
res0: List[Int] = List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
scala> res0.partition(_ < 5)
res1: (List[Int], List[Int]) = (List(0, 1, 2, 3, 4),List(5, 6, 7, 8, 9, 10))