Python排序方法-列表排序sorted的用法:正数在前负数在后,整数从小到大,负数从大到小
sorted如何使用?使用函数进行此类排序操作
sorted如何使用?
关于sorted的用法:sorted是python里的一个常用高阶函数,能够进行一些复杂的排序操作,例:假设存在列表 a = [“paparazzi”,“yang”,“maybe”,“redpanda”,“sylar”,“fy”,“ameame”],我想要根据字符串的长度对列表进行排序:
a = ["paparazzi","yang","maybe","redpanda","sylar","fy","ameame"]
print(sorted(a)) # 这个情况是默认按照字符串首字母的acsii 码进行排序
print(sorted(a, key=len))
# key 关键字接收的参数是一个函数
# 当我设置了 key=len 时,字符串排序的时候回先交给 len 这个函数去处理
# 然后根据 len(str) 返回的结果进行排序
结果比较如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210419141633658.png)
解决列表排序:正数在前,负数在后 现有列表:list1=[7, -8, 5, 4, 0, -2, -5],目标是:正数在前负数在后,正数从小到大,负数从大到小
list1 = [7, -8, 5, 4, 0, -2, -5]
print(sorted(list1, key=lambda x: x*-10 if x |