【发布时间】:2015-06-12 15:07:25
【问题描述】:
我无法完全理解以下代码中 lambda 的行为:
rdd = sc.parallelize([5,3,1,2)]
rdd.takeOrdered(3,lambda s: -1*s)
据我了解,lambda 将操作应用于列表中的所有元素,所以我希望上面的代码返回
[-1,-2,-3]
但它返回了
[5,3,2]
我在这里错过了什么?
【问题讨论】:
-
一个 lambda 只是一个创建函数对象的表达式。
takeOrdered负责将其实际应用于任何事物。
标签: python lambda apache-spark pyspark