Scala是否有类似于Python列表推导的语法?

24

我正在将一些Python代码翻译成Scala,想知道是否有类似于Python列表推导的等价物:

[x for x in list if x!=somevalue]

我想从列表中删除某些匹配的元素。


http://www.scala-lang.org/node/111 - zw324
1个回答

38

最接近Python列表推导式的相似语法是

for (x <- list if x != somevalue) yield x

但既然你正在进行的是过滤操作,那么你可以直接使用filter方法。

list.filter(_ != somevalue)
或者
list.filterNot(_ == somevalue)

2
@Shelby.S 顺便说一下,前两个 将会被转换为相同的代码 - om-nom-nom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接