Lambda函数内使用的函数内的打印语句未执行

时间:2019-02-12 20:34:06

标签: python python-3.x lambda anonymous-function

在下面的代码中,gen_window中有一条打印语句,但是当我运行代码时,该打印语句没有得到执行。为什么会这样,然后我应该如何调试此类lambda函数? (即使调试器也忽略了这些函数中的断点。)

getpairs = rdd.flatMap(lambda xi: gen_window(xi, n))


def gen_window(xi, n):
    x, i = xi
    l = []
    for offset in range(n):
        print("-->", (i - offset, (i, x)))
        l.append((i - offset, (i, x)))
    return l

1 个答案:

答案 0 :(得分:1)

作品:

def gen_window(xi, n):
    x, i = xi
    l = []
    for offset in range(n):
        print("-->", (i - offset, (i, x)))
        l.append((i - offset, (i, x)))
    return l

xi = [3,5]
n = 3

gen_window(xi, n)

仅当您实际使用Lambda时才执行它们-如果没有输出,则可能永远不会使用它。

输出:

--> (5, (5, 3))
--> (4, (5, 3))
--> (3, (5, 3))