首页 > 解决方案 > lambda 表达式列表的行为

问题描述

我创建了一个 lambda 函数列表,后来在列表中调用了这些函数。但是,他们只调用最后一个 lambda。为了检查它,我看不到 lambda 是什么,因为它返回的只是一个像<function <lambda> at 0x7f6da69b89e0>. 除非 Python 不允许包含 lambda 函数的列表?我正在使用 Python 3。

quxs = [2, 3, 5, 7]
funs = []
for qux in quxs:
    funs.append (lambda x, y: x + y * qux)
for fun in funs:
    print (fun (1, 4))

# expected: 9, 13, 21, 29
# result: 29, 29, 29, 29

标签: pythonlistlambda

解决方案


推荐阅读