How to sum a list of tuples

前端 未结 5 1512
囚心锁ツ
囚心锁ツ 2021-01-02 04:06

Given the following list of tuples...

val list = List((1, 2), (1, 2), (1, 2))

... how do I sum all the values and obtain a single tuple lik

5条回答
  •  臣服心动
    2021-01-02 04:53

    You can solve this using Monoid.combineAll from the cats library:

    import cats.instances.int._ // For monoid instances for `Int`
    import cats.instances.tuple._  // for Monoid instance for `Tuple2`
    import cats.Monoid.combineAll
    
      def main(args: Array[String]): Unit = {
    
        val list = List((1, 2), (1, 2), (1, 2))
    
        val res = combineAll(list)
    
        println(res)
        // Displays
        // (3, 6)
      }
    

    You can see more about this in the cats documentation or Scala with Cats.

提交回复
热议问题