我有两个列表,我想将列表A中的每个元素与列表B中的元素相加,产生一个新的列表。
我可以做到:
List(1,2).zip(List(5,5)).map(t => t._1 + t._2)
在Scala中有没有更简单或更简洁的方法呢?
在Clojure我可以做:
(map + [1 2 3] [4 5 6])
解决方法
两个列表:
(List(1,2),List(5,5)).zipped.map(_ + _)
三个列表:
(List(1,5),List(9,4)).zipped.map(_ + _ + _)
对于n个列表:
List(List(1,4),List(6,3)).transpose.map(_.sum)