python内置函数 -- sorted()

sorted() :排序函数

语法:sorted(Iterable, key=None, reverse=False)

  Iterable:  可迭代对象

  key:  排序规则(函数),在sorted内部会把可迭代对象中的每一个元素传递给这个函数,然后根据函数的运算结果进行排序

  reverse:  reverse = True 降序 , reverse = False 升序(默认)

用法一:  sorted(可迭代对象)

lst = [3,2,6,4,9,7,1,23,4]
new_lst = sorted(lst)
print(new_lst) #返回的新列表是经过排序的
[1,2,3,4,4,6,7,9,23]

用法二:   和函数组合使用

# 根据字符串⻓度进⾏排序
lst = ['博客园', '随笔', '今天是星期二', '嘿']

def func(s):    # 计算字符串⻓度
    return len(s)

print(sorted(lst, key=func))   #将列表每一个字符串传递给func 计算结果返回

['嘿','随笔','博客园','今天是星期二']

 用法三 :和lambda组合使用

#根据列表中每个字符串中a的数量排序
lst = ['ada', 'afdf', 'asdasdsasda', 'asdasdf', 'sss']

l = sorted(lst, key=lambda s: s.count('a'),reverse=True)  # 内部,把可迭代对象中的每一个元素传递给func ,
print(l)

['asdasdsasda','asdasdf','ada','afdf','sss']

 

posted @ 2020-03-03 14:38  Vico_1114  阅读(452)  评论(0)    收藏  举报