【发布时间】:2012-11-25 02:55:55
【问题描述】:
我正在尝试对可能包含缺失值的列表进行一些算术运算。 到目前为止,我用 Option[Int] 表示我的列表:
val mylist=List( Option(4), Option(8), None )
通过这种表示,我可以轻松地在列表上应用一个函数(例如,乘以 2):
scala> mylist.map(_.map(_*2))
res2: List[Option[Int]] = List(Some(8), Some(16), None)
但是,这看起来比实际需要的要复杂,所以我想知道我是否遗漏了什么。
另外,我不知道如何写总和之类的东西。我想应该可以使用(大)reduce 表达式......
所以,我想知道:
- List[Option[Int]] 是这个用例的一个很好的表示
-
mylist.map(_.map(_*2))是最好的映射方式 - 有没有简单的求和方法?
【问题讨论】:
-
要对值求和,您可以使用
mylist.flatten.sum -
有人对所有答案投了反对票
-
@drstevens 事件报告
-
@drstevens 和 om-nom-nom:我很好奇,为什么会有人这样做? (除非他们对除了他们自己的之外的所有答案都投了反对票?)
-
@drstevens 这很奇怪。我确实一直在这里投票,但我从来没有投票过任何东西
标签: list scala math missing-data