2024-04-20 13:56:30 发布
网友
对于对x.sort()或np.random.shuffle(x)这样的对象进行操作的函数,要在lambda函数中使用它,我们需要找到相应的函数,该函数返回一个副本,如sorted(x)或{}。在
x.sort()
np.random.shuffle(x)
sorted(x)
如果没有这样的对应函数,有没有办法与lambda函数一起使用呢?E、 g.:
def f(x): x.sort() #or x.copy().sort() return(x)
根本的问题不是.sort工作正常,而是它返回None。您可以使用or表达式的返回值来解决这个问题:
.sort
None
or
>>> x = [3,1,2] >>> (lambda a: a.sort() or a)(x) [1, 2, 3]
所以,你可以这样做,但你不应该这样做: 只需使用普通函数。一个lambda函数的唯一优点是它是匿名的。这是一个很小的优势,主要是方便。在
lambda
为了好玩:
但我重申:不要这样做。在
根本的问题不是
.sort
工作正常,而是它返回None
。您可以使用or
表达式的返回值来解决这个问题:所以,你可以这样做,但你不应该这样做: 只需使用普通函数。一个
lambda
函数的唯一优点是它是匿名的。这是一个很小的优势,主要是方便。在为了好玩:
^{pr2}$但我重申:不要这样做。在
相关问题 更多 >
编程相关推荐