Python中Lamda表达式作为函数参数的情况

这两天看到别人代码里的一种写法,觉得还挺新奇:

map_tree(lambda node: vectorize(node, num_vars, num_ints, ops, eos_token=eos_token, one_hot=one_hot), program)#这里map_tree的第一个参数是一个lambda表达式。

#map tree的定义如下:
def map_tree(func, tree):
    new_tree = Node(func(tree.value) if tree.value is not None else tree.value)
    new_tree.children.extend(map(partial(map_tree, func), tree.children))
    return new_tree
#所以将lambda表达式作为第一个参数传进了map_tree,并且在其中进行了调用(func(tree.value))。

简单记录一下。

你可能感兴趣的:(Python技巧)