day7自定义排序
""" sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 sorted():默认是由小到大排序列表的元素。 排序排序:sorted(reverse=True) """ a = [36, 5, 12, 9, 21] # print(sorted(a)) # print(sorted(a,reverse=True)) # print(a) # # print(a.sort()) # print(a) """ 打印结果: [5, 9, 12, 21, 36] [36, 5, 12, 9, 21] None [5, 9, 12, 21, 36] """ # 默认是按照第一个名字进行排序的 score = [('Alice', 72), ('Candy', 90), ('Bob', 62)] print(sorted(score)) # [('Alice', 72), ('Bob', 62), ('Candy', 90)] """ sorted接受key参数,用来指定排序的字段,key的值是一个函数,接受待排序列表的元素作为参数,并返回对应需要排序的字段。 因此,sorted()函数也是高阶函数。 """ # 指定排序的字段为分值 def k(item): return item[1] # 按成绩排序,成绩是第二个字段 print(sorted(score, key=k)) """ 练习: 对字符串排序时,有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数,实现忽略大小写排序的算法。 输入:['bob', 'about', 'Zoo', 'Credit'] 输出:['about', 'bob', 'Credit', 'Zoo'] """ names = ['bob', 'about', 'Zoo', 'Credit'] # l = [] # for name in names: # name = name.lower() # l.append(name) # print(l) def k(name): return name.lower() # 把元素转换为小写字母来排序,但是实际的返回还是原元素 s = sorted(names, key=k) print(s)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!