sorted 内置函数_排序

sorted 内置函数_排序:

在这里插入图片描述


sorted(iterable[,cmp=None,key=None,reverse=False]) 对可迭代对象进行排序,排序好后返回一个新列表。参数如下:
  iterable:可以是:列表、集合、字典、元组、字符串、可迭代的对象...cmp:可以指定一个比较函数,这个函数接收两个参数,具体如下:
          如果第一个参数 小于 第二个参数,返回一个负数,即第一个参数减第二个参数;
          如果第一个参数 等于 第二个参数,返回零,即第一个参数减第二个参数;
          如果第一个参数 大于 第二个参数,返回一个正数,即第一个参数减第二个参数。
  key:可以指定一个函数来排序,函数接收一个参数,用于从列表中依次提取一个元素比较键。默认是None(直接比较元素)。
  reverse:参数是布尔值。False表示升序排序,从小到大排序,也是默认值。True表示降序排序,从大到小排序。
  

例子1:按某个字母排序


d={
    
    "zip":9,"name":15,"age":20,"money":100,"xiaoming":"小明"}
print(sorted(d,reverse=False,key=lambda x:x[2]))  #根据每项的第3个字母来比较。
#注:26个字母的顺序是这样的: abcedfghijklmnopqrstuvwxyz

输出结果:

在这里插入图片描述


例子2:按出生日期排序


stuLists = [{
    
    'stu_id': 1, 'birthday': '2022-02-10'},{
    
    'stu_id': 2, 'birthday': '2021-02-20'}, {
    
    'stu_id': 3, 'birthday': '2021-03-10'}]
sortedStuList = sorted(stuLists, key=lambda item: item['birthday'])
print(sortedStuList)

输出结果:

在这里插入图片描述


例子3:随机排序

import random

def fn(item):
    return random.randint(-1,1)

aList=[5,4,8,95,1,100,10,2]
ab = sorted(aList, key=fn, reverse=True)
print(ab)

输出结果(每次都不一样):

在这里插入图片描述

--------------- 结束 ---------------
仅学习。

猜你喜欢

转载自blog.csdn.net/qq_52722885/article/details/127289207