我有List[(A, Option[B])]
。我想过滤掉第二个元素中包含None
的所有元组,然后"展开" Option
,List[A, B]
。
我目前正在使用这个:
list.filter(_._2.isDefined).map(tup => (tup._1, tup._2.get))
有没有更好的方法(更简洁)?
答案 0 :(得分:7)
您可以使用模式匹配和collect
:
list.collect { case (a, Some(b)) => (a, b) }