Skip to main content
 首页 » 编程设计

python之如何在 lambda 函数中执行赋值

2025年05月04日11linjiqin

<分区>

python 2.7.1

我想明白为什么我不能做以下这似乎是一件明智的事情

def do_stuff(): 
    # return a function which takes a map as an argument and puts a key in there 
    f = lambda map: map['x'] = 'y' #compilation error 
    return f  
 
x = do_stuff() 
map = {} 
x(map) 
print map['x'] 

我可以让 lambda 函数变得更简单一些,比如 f = lambda map: os.path.exists 但是我无法让它改变 map 。有人可以告诉我如何实现这一目标吗?如果这根本不可能,为什么?