当前位置:首页 > 科技  > 软件

深入探索Python排序神器:sorted()函数全解析

来源: 责编: 时间:2024-06-21 17:23:42 80观看
导读在Python编程领域,sorted()函数作为数据排序的核心工具,凭借其灵活性和高效性,成为了每个开发者手中的必备神器。本文将带你全面了解sorted()函数的使用方法、高级技巧及实际应用,通过超过10个生动的代码示例,深度挖掘这一

在Python编程领域,sorted()函数作为数据排序的核心工具,凭借其灵活性和高效性,成为了每个开发者手中的必备神器。本文将带你全面了解sorted()函数的使用方法、高级技巧及实际应用,通过超过10个生动的代码示例,深度挖掘这一功能的强大之处。W0U28资讯网——每日最新资讯28at.com

W0U28资讯网——每日最新资讯28at.com

简介:sorted()函数初探

sorted()函数是一种内置的高级排序方法,能够对任何可迭代对象(如列表、元组、字符串等)进行排序,返回一个新的排序后的列表,原对象保持不变。其基本语法为:sorted(iterable[, key][, reverse]),其中:W0U28资讯网——每日最新资讯28at.com

iterable 是待排序的可迭代对象。W0U28资讯网——每日最新资讯28at.com

key 是一个可选参数,用于指定一个函数来作为排序的依据。W0U28资讯网——每日最新资讯28at.com

reverse 也是一个可选参数,布尔值,默认为False,表示升序排列;设为True则为降序排列。W0U28资讯网——每日最新资讯28at.com

基础应用:纯数据排序

示例1:简单列表排序W0U28资讯网——每日最新资讯28at.com

numbers = [3, 1, 4, 1, 5, 9, 2, 6]sorted_numbers = sorted(numbers)print(sorted_numbers)  # 输出:[1, 1, 2, 3, 4, 5, 6, 9]

示例2:字符串排序W0U28资讯网——每日最新资讯28at.com

words = ["banana", "apple", "cherry"]sorted_words = sorted(words)print(sorted_words)  # 输出:['apple', 'banana', 'cherry']

高级技巧:利用key参数定制排序规则

示例3:按字符串长度排序W0U28资讯网——每日最新资讯28at.com

fruits = ["apple", "banana", "cherry", "date"]sorted_by_length = sorted(fruits, key=len)print(sorted_by_length)  # 输出:['date', 'apple', 'cherry', 'banana']

示例4:按绝对值排序负数W0U28资讯网——每日最新资讯28at.com

nums = [-5, -3, 2, 4, -1]sorted_abs = sorted(nums, key=abs)print(sorted_abs)  # 输出:[-1, 2, -3, 4, -5]示例5:按姓名的姓氏排序people = ["Alice Johnson", "Bob Smith", "Charlie Brown"]sorted_by_last_name = sorted(people, key=lambda name: name.split()[-1])print(sorted_by_last_name)  # 输出:['Charlie Brown', 'Alice Johnson', 'Bob Smith']

逆向排序:掌握reverse参数

示例6:降序排列整数W0U28资讯网——每日最新资讯28at.com

numbers_desc = sorted([8, 3, 1, 6, 4], reverse=True)print(numbers_desc)  # 输出:[8, 6, 4, 3, 1]

示例7:字符串倒序排列W0U28资讯网——每日最新资讯28at.com

words_desc = sorted(["hello", "world", "python"], reverse=True)print(words_desc)  # 输出:['python', 'world', 'hello']

复合排序:结合多个条件

示例8:先按长度后按字母顺序排序W0U28资讯网——每日最新资讯28at.com

items = ["apple", "banana", "pear", "orange"]sorted_complex = sorted(items, key=lambda x: (len(x), x))print(sorted_complex)  # 输出:['pear', 'apple', 'orange', 'banana']

实战应用:sorted()在数据处理中的妙用

示例9:排序字典列表的某个字段W0U28资讯网——每日最新资讯28at.com

students = [    {"name": "Tom", "grade": 88},    {"name": "Jerry", "grade": 92},    {"name": "Spike", "grade": 76}]sorted_students = sorted(students, key=lambda student: student["grade"], reverse=True)print(sorted_students)# 输出:[{'name': 'Jerry', 'grade': 92}, {'name': 'Tom', 'grade': 88}, {'name': 'Spike', 'grade': 76}]

示例10:统计词频并排序W0U28资讯网——每日最新资讯28at.com

from collections import Countertext = "the quick brown fox jumps over the lazy dog"words = text.split()word_counts = Counter(words)sorted_word_counts = sorted(word_counts.items(), key=lambda item: item[1], reverse=True)print(sorted_word_counts)# 输出:[('the', 2), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1), ('over', 1), ('lazy', 1), ('dog', 1)]

结语

通过以上示例,我们不难发现sorted()函数的灵活性和强大功能,它不仅能够满足基础的排序需求,还能通过key和reverse参数实现复杂的排序逻辑,极大地增强了Python在数据处理方面的表现力。无论是在数据分析、文本处理还是日常编程中,熟练掌握并运用sorted()函数都将使你的代码更加高效、优雅。希望本文能激发你对sorted()函数更深层次的探索和实践,让它成为你编程生涯中不可或缺的得力助手。W0U28资讯网——每日最新资讯28at.com


W0U28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-95548-0.html深入探索Python排序神器:sorted()函数全解析

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python十个常用的自动化脚本

下一篇: 使用 Clean Architecture 生成 .NET 项目指南

标签:
  • 热门焦点
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • Raft算法:保障分布式系统共识的稳健之道

    Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • Golang 中的 io 包详解:组合接口

    Golang 中的 io 包详解:组合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是对Reader和Writer接口的组合,
  • 从 Pulsar Client 的原理到它的监控面板

    从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 如何正确使用:Has和:Nth-Last-Child

    如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 学习JavaScript的10个理由...

    学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 认真聊聊东方甄选:如何告别低垂的果实

    认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 朋友圈可以修改可见范围了 苹果用户可率先体验

    朋友圈可以修改可见范围了 苹果用户可率先体验

    近日,iOS用户迎来微信8.0.27正式版更新,除了可更换二维码背景外,还新增了多项实用功能。在新版微信中,朋友圈终于可以修改可见范围,简单来说就是已发布的朋友圈
Top
Baidu
map