python中怎样使用列表的sort方法(详解python中sort排序使用)
python中怎样使用列表的sort方法
详解python中sort排序使用1.前言
昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看。今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=lambda x:(x[1],x[1]/x[2]))
是如何排序的。但是我猜测应该是按照第二个元素排序,如果第二个元素相同,就按照第二个元素和第三个元素的比值排序。猜测归猜测,自己就去测试了一下。过程如下。
2.环境准备
系统:win10
python版本:3.6
3.程序实现
为了满足实验要求,就设置几个第二个元素相同的数据如:摆渡人
|
bookinfo = [( '不一样的卡梅拉(全套)' , 22.50 , 120 ),( '零基础学Android' , 65.10 , 89.80 ), ( '摆渡人' , 23.40 , 36.00 ),( '福尔摩斯探案全集8册' , 22.50 , 128 ),( '不一样的卡梅拉(全套)' , 22.50 , 100 ),( '摆渡人' , 23.40 , 40.00 )] bookinfo.sort(key = lambda x:(x[ 1 ],x[ 1 ] / x[ 2 ])) for temp in bookinfo: print (temp, "x[1]/x[2]:" ,temp[ 1 ] / temp[ 2 ]) |
程序运行后的结果是:
('福尔摩斯探案全集8册', 22.5, 128) x[1]/x[2]: 0.17578125
('不一样的卡梅拉(全套)', 22.5, 120) x[1]/x[2]: 0.1875
('不一样的卡梅拉(全套)', 22.5, 100) x[1]/x[2]: 0.225
('摆渡人', 23.4, 40.0) x[1]/x[2]: 0.585
('摆渡人', 23.4, 36.0) x[1]/x[2]: 0.6499999999999999
('零基础学Android', 65.1, 89.8) x[1]/x[2]: 0.7249443207126949
[Finished in 0.2s]
4.sort拓展
在使用sort函数的时候需要注意的是:该函数会修改原来的数组,不会返回新的数组。
如果想使用逆序则可以:bookinfo.sort(reverse=True,key=lambda x:(x[1],x[1]/x[2]))
key这个属性后的x是任意的,自定义的,代表当前的元素的内容。
以上所述是小编给大家介绍的python中sort排序使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/meiqi0538/article/details/88584497
- python删除数据框重复变量(Python3删除排序数组中重复项的方法分析)
- pythonflask怎么设置(python flask安装和命令详解)
- python实现在同一电脑上tcp通信(Python两台电脑实现TCP通信的方法示例)
- python计算1到10的阶乘的和(python计算阶乘和的方法1!+2!+3!+...+n!)
- 用python制作一个简单的小程序(一个可以套路别人的python小程序实例代码)
- python注册码实现(python实现Virginia无密钥解密)
- python中求阶乘的代码(python 阶乘累加和的实例)
- python能操作微信定时发消息(python给微信好友定时推送消息的示例)
- python同步钉钉用户(python 调用钉钉机器人的方法)
- python获取微信用户(python-itchat 获取微信群用户信息的实例)
- python 制作图片文字识别(如何使用Python进行OCR识别图片中的文字)
- python基础教学之125 装饰器简介(python3 property装饰器实现原理与用法示例)
- python爬虫音乐代码(详解python selenium 爬取网易云音乐歌单名)
- 用python如何写tkinter(浅谈python3.6的tkinter运行问题)
- python如何遍历一个列表(说说如何遍历Python列表的方法示例)
- python停止执行的代码(python定时检测无响应进程并重启的实例代码)
- 八月再见 愿你岁月不扰,余生静好(八月再见愿你岁月不扰)
- 赏读 八月再见,九月你好(赏读八月再见九月你好)
- 散文 八月再见,九月,我在风中等你(散文八月再见九月)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
热门推荐
- mysql多行数据之和(详解MySQL的数据行和行溢出机制)
- python使用门算法加密文件(python实现可逆简单的加密算法)
- sql数据库安装概要(详解将DataGrip连接到MS SQL Server的方法)
- docker 搭建gitlab(使用Docker搭建私有GitLab的两种方案)
- navicat15激活页面不显示(Navicat for MySQL 15注册激活详细教程)
- dedecms内容页代码(DEDECMS生成HTML时提示 DedeTag Engine Create File False的解决方法)
- 使用docker对集群进行管理(使用docker搭建kong集群操作)
- 数据库设计的几个建议
- 面试时问期望工资怎么回答
- mysql恢复数据库(MySQL 两种恢复数据的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9