【发布时间】:2013-02-26 18:42:51
【问题描述】:
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,但是我无法让它更改地图。有人可以告诉我如何实现这一目标吗?如果这根本不可能,为什么?
【问题讨论】:
标签: python python-2.7 lambda variable-assignment