[英]scala filter a list of lists of tuples
我有一個列表列表,其中包含元組(char,Int)
val raw = List(List((a,0), (b,0)), List((a,1), (b,0)), List((a,2), (b,0)), List((a,0), (b,1)), List((a,1), (b,1)), List((a,2), (b,1)), List((a,0), (b,2)), List((a,1), (b,2)), List((a,2), (b,2)))`
我想過濾掉Int為0的所有元組。所以結果應該是:
List(List(), List((a,1)), List((a,2)), List((b,1)), List((a,1), (b,1)), List((a,2), (b,1)), List((b,2)), List((a,1), (b,2)), List((a,2), (b,2)))
我試圖做一個地圖,然后過濾器,但編譯器抱怨incompatible types: ((Int, Char) => Boolean expected but found ((Int, Char) => Unit)
raw.map(_.filter(tuple => match {
(_,0) => false
(_,_) => true
})
我出錯了嗎?
這是正確的:
raw.map(_.filter(_._2 != 0))
這接近你試過的:
raw.map(_.filter({
case (_,0) => false
case (_,_) => true
}))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.