我是scala的新手,我试图从元组元素列表中删除它们的第一个值大于第二个值.
例如,从列表中:
val list = List[(Int,Int)]((1,3),(3,1),(2,2))
Run Code Online (Sandbox Code Playgroud)
我想得到这个清单:
val list = List[(Int,Int)]((1,3),(2,2))
Run Code Online (Sandbox Code Playgroud)
所以我使用了以下几行:
var newList = List[(Int, Int)]()
for (element <- list) {
if (element._1 <= element._2) {
newList ::= element;
}
}
Run Code Online (Sandbox Code Playgroud)
但是斯卡拉感觉很长..有没有更短的路?
像twillouer和tzofia的解决方案,但模式匹配:
list filter { case (a, b) => a <= b }
Run Code Online (Sandbox Code Playgroud)
小智 6
你可以简单地做:
list.filter(element => element._1 <= element._2)
Run Code Online (Sandbox Code Playgroud)
过滤器函数过滤掉不满足给定布尔条件的元素.
| 归档时间: |
|
| 查看次数: |
3917 次 |
| 最近记录: |