[英]Why the value in list stay the same?
在sort()
函数中使用key=
时,lambda 不会更改值吗?
nas = [1,2,3,4,5]
nas.sort(key=lambda a: a + 1)
print(nas)
nas
仍然具有相同的价值,为什么没有使用 lambda 添加 1?
顾名思义, sort
only... sorts
。 它不会更改您提供的 lambda 中的任何元素。 该 lambda 仅用于定义列表元素的排序方式。
因此,例如,当尝试比较3
和4
时,您的 lambda 指示它将3
当作4
进行比较,将4
当作5
进行比较。 当然,这会产生与直接比较整数相同的效果:
nas = [1,2,3,4,5]
nas.sort(key=lambda a: a + 1) # Or just `nas.sort()`
print(nas)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.