记一笔sorted函数:

sorted([13,1,237,89,100],key=lambda x:len(str(x)),reverse=False)

key的值解析:

key的意思就是让你指定用什么方法进行排序:是按照字符长度、首字母、数字还是啥的,拿上面代码的一部分进行举例

key=lambda x:len(str(x))

上面的lambda的意思和def一个函数很类似,只是换了一种写法,代码也可以改写成:

def function(x):
	return len(str(x))

#将值通过形参x传入,并返回出它的长度(len)

所以,这里的key值就代表了按照传入字符的长度进行排序,而传入的字符就是列表里的每一个值了


所以下面这串代码的功能就很明显了,将列表里的每个值进行str转换,并求出长度,再用长度进行升序排序(默认就是升序False)

sorted([13,1,237,89,100],key=lambda x:len(str(x)),reverse=False)

所以最终的结果为:

[1,13,89,237,100]


#这里的237和100长度都为3,并且237原来的顺序就在100前面,所以原地不动
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐