[英]Filtering a list of tuples
我有一個元組列表,我想過濾掉元組中第二個值不等於 7 的所有元素。
我願意:
valuesAsList.filter(x=>x._2 != 7)
我可以使用通配符來使它更短嗎?
謝謝。
你可以
valuesAsList.filter(_._2 != 7)
但我懷疑它應該比你的例子或這個(想想可讀性)更受歡迎:
valuesAsList.filter {case (_, v) => v != 7}
相當直接,恕我直言沒有真正的優勢:
valuesAsList.filter(_._2 != 7)
對於元組數組,我們可以使用 for with yield 返回一個數組
scala> val str = Array((2,Hello), (3,MyNameIs), (8,Lolo))
res34: Array[(Int, String)] = Array((2,Hello), (3,MyNameIs), (8,Lolo))
Scala> for(i <- str if(i._2.size > 4)) yield (i._1,i._2.toLowerCase)
res35: Array[(Int, String)] = Array((2,hello), (3,mynameis))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.