大数据(7j)比较Python和Scala的yield
Posted 小基基o_O
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据(7j)比较Python和Scala的yield相关的知识,希望对你有一定的参考价值。
简单的yield
Python的yield
在函数中,遍历函数取值
def f():
for i in range(5):
yield i ** 2
Scala的yield
配合for
用来赋值
val vector = for (i <- 1 to 5) yield {
i * i
}
print(vector) // Vector(1, 4, 9, 16, 25)
yield+判断
Python:
def f():
for i in range(10):
if i % 2 == 1:
yield i ** 2
Scala:if
在循环体内,会yield
出()
val vector = for (i <- 1 to 10) yield {
if (i % 2 == 1) {
i * i
}
}
print(vector) // Vector(1, (), 9, (), 25, (), 49, (), 81, ())
Scala:if
在条件内,才不会yield
出()
val vector = for (i <- 1 to 10 if i % 2 == 1) yield {
i * i
}
print(vector) // Vector(1, 9, 25, 49, 81)
以上是关于大数据(7j)比较Python和Scala的yield的主要内容,如果未能解决你的问题,请参考以下文章
大数据(7i)比较Python和Scala的collection常用方法