Python sorted函数|sorted([13,1,237,89,100],key=lambda x:len(str(x)))
记一笔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一个函数很类似,只是换了一种写法,代码也可以
·
记一笔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前面,所以原地不动
更多推荐
所有评论(0)