【发布时间】:2018-04-21 01:46:16
【问题描述】:
Python 3 中是否有用于函数lambda x: x 的内置函数?有时它可能会使一些代码更优雅。例如:
def my_sort(lst, key):
...
lst = [4, 3, 7, 1, 9]
my_sort(lst, key=lambda x: x) # probably it can be written in a better way WITHOUT lambda x: x with the help of a standard function
我需要 Python 3 中的内置函数或标准函数,而不是像 lambda x: x 这样的表达式来改进我的代码。
【问题讨论】:
-
key=None?.... 为什么还要有钥匙? -
@COLDSPEED
None不是函数。 -
您要求更优雅的东西...您还想要什么?
lambda x: x恰好是None熟练模仿的身份函数。 -
也许你应该向我们展示一个更好的例子来说明恒等函数在哪里真正有用。 FWIW,如果
lambda x: x能完成这项工作(尽管它不如用 C 编码的函数那么快),那么它没有任何问题,并且您传递给它的函数不接受像 @ 这样的特殊值987654329@表示它应该使用标识函数。 -
我猜你可以做
identity=functools.partial(lambda x: x)。 :)
标签: python python-3.x