如果我在Scala中有List[Option[A]]
,那么过滤出None
值的惯用方法是什么?如何过滤没有列表[选项]?
一种方法是使用以下命令:
val someList: List[Option[String]] = List(Some("Hello"), None, Some("Goodbye"))
someList.filter(_ != None)
有没有更“地道”的方式?这看起来很简单。
如果我在Scala中有List[Option[A]]
,那么过滤出None
值的惯用方法是什么?如何过滤没有列表[选项]?
一种方法是使用以下命令:
val someList: List[Option[String]] = List(Some("Hello"), None, Some("Goodbye"))
someList.filter(_ != None)
有没有更“地道”的方式?这看起来很简单。
如果你想摆脱在同一时间的选项,你可以使用flatten
:HTTPS://
scala> someList.flatten
res0: List[String] = List(Hello, Goodbye)
,如果你想保留的结果类型为List[Option[A]]
相关
someList.filter(_.isDefined)
stackoverflow.com/questions/4730842/how-to-transform-scala-collection-of-optionx-to-collection-of-x – dskrvk 2016-04-27 19:53:00