我有一个清单[(A,选项[B])].我想过滤掉第二个元素中包含None的所有元组,然后“解包”Option,给出一个List [A,B].
我目前正在使用这个:
list.filter(_._2.isDefined).map(tup => (tup._1,tup._2.get))
有更好的方法(更简洁)吗?
解决方法
您可以使用模式匹配并收集:
list.collect { case (a,Some(b)) => (a,b) }