簡體   English   中英

scala過濾元組列表的列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM