我有值的列表选项元组的名单,可能是None
斯卡拉:在地图
val list = List(("apples",1), ("oranges",3), ("avocado",4), None, ("pears",10))
我怎样才能将其转化成像地图:
Map("apples"->1, "oranges"->3, "avocado"->4, "pears"->10)
跳过空元素?
error: Cannot prove that Option[(String, Int)] <:< (T, U).
我在想是这样的:
,因为它给我的错误,我不能用toMap
来list
val m = list.map(x => x match{case Some(x) => x._1->x._2
case None => None})
但很明显,我失去了一些东西:(
'filter'它。将它映射到一个元组。调用'toMap'? –
将它映射到一个元组,它不是我所需要的。我无法调用toMap(我更新了问题以提供有关此问题的更多信息)。其实,过滤器看起来是个好主意。 :)我会尝试一下 – salvob
你需要[''扁平''Option'](https://stackoverflow.com/questions/4730842/how-to-transform-scala-collection-of-optionx-对信息收集的-X)。 –