繁体   English   中英

为什么列表中的值保持不变?

[英]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 仅用于定义列表元素的排序方式。

因此,例如,当尝试比较34时,您的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM