Search code examples
scala

How to split a sequence into two pieces by predicate?


How do I split a sequence into two lists by a predicate?

Alternative: I can use filter and filterNot, or write my own method, but isn't there a better more general (built-in) method ?


Solution

  • By using partition method:

    scala> List(1,2,3,4).partition(x => x % 2 == 0)
    res0: (List[Int], List[Int]) = (List(2, 4),List(1, 3))