Python学习小技巧之列表项的排序

发布时间 - 2026-01-11 01:12:30    点击率:

本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

典型代码1:

data_list = [6, 9, 1, 3, 0, 10, 100, -100] 
data_list.sort() 
print(data_list) 

输出1:

[-100, 0, 1, 3, 6, 9, 10, 100] 

典型代码2:

data_list = [6, 9, 1, 3, 0, 10, 100, -100] 
data_list_copy = sorted(data_list) 
print(data_list) 
print(data_list_copy) 

输出2:

[6, 9, 1, 3, 0, 10, 100, -100] 
[-100, 0, 1, 3, 6, 9, 10, 100] 

应用场景

需要对列表中的项进行排序时使用。其中典型代码1是使用的列表自身的一个排序方法sort,这个方法自动按照升序排序,并且是原地排序,被排序的列表本身会被修改;典型代码2是调用的内置函数sort,会产生一个新的经过排序后的列表对象,原列表不受影响。这两种方式接受的参数几乎是一样的,他们都接受一个key参数,这个参数用来指定用对象的哪一部分为排序的依据:

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1]) # 我们想要基于列表项的第二个数进行排序 
print(data_list) 
 
>>> [(77, 34), (55, 97), (0, 100)] 

另外一个经常使用的参数是reverse,用来指定是否按照倒序排序,默认为False:

data_list = [(0, 100), (77, 34), (55, 97)] 
data_list.sort(key=lambda x: x[1], reverse=True) # 我们想要基于列表项的第二个数进行排序,并倒序 
print(data_list) 
>>> [(0, 100), (55, 97), (77, 34)] 

带来的好处

1. 内置的排序方法,执行效率高,表达能力强,使代码更加紧凑,已读

2. 灵活的参数,用于指定排序的基准,比在类似于Java的语言中需要写一个comparator要方便很多

其它说明

1. sorted内置函数比列表的sort方法要适用范围更广泛,它可以对除列表之外的可迭代数据结构进行排序;

2. list内置的sort方法,属于原地排序,理论上能够节省内存的消耗;

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# python的list排序  # python中的list排序  # python  # 列表排序  # Python中使用filter过滤列表的一个小技巧分享  # Python从列表推导到zip()函数的5种技巧总结  # 详解python列表(list)的使用技巧及高级操作  # Python实用技巧之列表、字典、集合中根据条件筛选数据详解  # Python学习小技巧之列表项的推导式与过滤操作  # Python学习小技巧之列表项的拼接  # Python列表生成器的循环技巧分享  # 超级实用的8个Python列表技巧  # 的是  # 升序  # 好了  # 相关内容  # 数据结构  # 不受  # 来看看  # 它可以  # 另外一个  # 这篇文章  # 谢谢大家  # 理论上  # 这两种  # 类似于  # 已读  # 默认为  # 迭代  # 是一样的  # 列表中  # 效率高 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel distinct去重查询_Laravel Eloquent去重方法  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  JS中对数组元素进行增删改移的方法总结  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  node.js报错:Cannot find module 'ejs'的解决办法  魔方云NAT建站如何实现端口转发?  iOS中将个别页面强制横屏其他页面竖屏  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  如何彻底卸载建站之星软件?  香港服务器WordPress建站指南:SEO优化与高效部署策略  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何在阿里云部署织梦网站?  如何安全更换建站之星模板并保留数据?  在Oracle关闭情况下如何修改spfile的参数  详解Android图表 MPAndroidChart折线图  教学论文网站制作软件有哪些,写论文用什么软件 ?  浅析上传头像示例及其注意事项  如何在建站之星绑定自定义域名?  如何快速搭建虚拟主机网站?新手必看指南  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  焦点电影公司作品,电影焦点结局是什么?  Laravel如何处理和验证JSON类型的数据库字段  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Python文件流缓冲机制_IO性能解析【教程】  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  青岛网站建设如何选择本地服务器?  iOS正则表达式验证手机号、邮箱、身份证号等  如何在宝塔面板创建新站点?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何在阿里云购买域名并搭建网站?  韩国服务器如何优化跨境访问实现高效连接?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel Session怎么存储_Laravel Session驱动配置详解  js实现获取鼠标当前的位置  如何确认建站备案号应放置的具体位置?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Android仿QQ列表左滑删除操作  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  b2c电商网站制作流程,b2c水平综合的电商平台?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何在阿里云香港服务器快速搭建网站?