【问题标题】:How to pass a tuple to a python function using lambda如何使用 lambda 将元组传递给 python 函数
【发布时间】:2015-07-04 15:49:21
【问题描述】:

我有两个方法 max(x, y) 和 min(x, y) 分别返回传递给它们的参数的最大值和最小值。

我需要使用 lambda 函数调用它们中的每一个...

funWithNum = [lambda  x: funWithNum[0], max  ,  lambda y: funWithNum[1], min]
print funWithNum[0](1, 2)
print funWithNum[1](1, 2)

当我使用print funWithNum[0](1, 2) 时,我应该得到最大数量,当我使用print funWithNum[1](1, 2) 时,我应该得到最小数量。我如何做到这一点?

【问题讨论】:

  • 提示:如果你没有lambda,你会怎么做?
  • 为什么不把maxmin 放在列表中,没有别的?
  • 经典的 XY 问题。描述你想做什么,而不是如何
  • 第一个 lambda 函数返回自身。第二个返回max。我建议对lambda 是什么进行更多研究。
  • 您说maxmin 是方法,但在您的代码中它们看起来更像普通函数。它们是您编写的函数,还是 Python 内置的 maxmin 函数?

标签: python lambda


【解决方案1】:

为什么每个人总是认为他们需要 lambda 函数!?你没有。

>>> fwn = [max, min]
>>> fwn[0](1,2)
2
>>> fwn[1](1, 2)
1

【讨论】: