用于就地方法/函数的lambda函数

2024-04-20 13:56:30 发布

您现在位置:Python中文网/ 问答频道 /正文

对于对x.sort()np.random.shuffle(x)这样的对象进行操作的函数,要在lambda函数中使用它,我们需要找到相应的函数,该函数返回一个副本,如sorted(x)或{}。在

如果没有这样的对应函数,有没有办法与lambda函数一起使用呢?E、 g.:

def f(x):
    x.sort()     #or x.copy().sort()
    return(x)

Tags: or对象lambda函数returndefnp副本
1条回答
网友
1楼 · 发布于 2024-04-20 13:56:30

根本的问题不是.sort工作正常,而是它返回None。您可以使用or表达式的返回值来解决这个问题:

>>> x = [3,1,2]
>>> (lambda a: a.sort() or a)(x)
[1, 2, 3]

所以,你可以这样做,但你不应该这样做: 只需使用普通函数。一个lambda函数的唯一优点是它是匿名的。这是一个很小的优势,主要是方便。在

为了好玩:

^{pr2}$

但我重申:不要这样做。在

相关问题 更多 >