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排序使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
python数组排序sort_详解python中sort排序使用相关推荐
- Python 装饰器详解(中)
Python 装饰器详解(中) 转自:https://blog.csdn.net/qq_27825451/article/details/84581272,博主仅对其中 demo 实现中不适合pyth ...
- python操作符op_详解python中的 is 操作符
大家可以与Java中的 == 操作符相互印证一下,加深一下对引用和对象的理解.原问题: Python为什么直接运行和在命令行运行同样语句但结果却不同,他们的缓存机制不同吗? 其实,高票答案已经说得很详 ...
- python scatter参数详解_Python 中 scatter 函数参数及用法详解
Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...
- python import io_详解Python IO编程
文件读写 读文件 try: # windows下utf8 f = open('./README.md', 'r', encoding='utf8', errors='ignore') print(f. ...
- python流程控制-详解Python流程控制语句
流程控制 流程:代码执行的过程 控制:对代码执行过程的把控 三大结构 顺序结构:代码默认从上到下,依次执行 分支结构:单项分支,双向分支,多项分支,巢状分支 循环结构:while循环和for循环 单项 ...
- python 标准输出_详解Python的标准输入输出
本篇文章给大家分享的是详解Python的标准输入输出,内容挺不错的,希望可以帮助到有需要的朋友 一.标准输入输出 1.打印到屏幕 产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个 ...
- python数组排序方法详解(sort, sorted,argsort)
这三个排序方法应对日常工作基本够用 先说一下三者的区别 sort, sorted 是用在 list 数据类型中的排序方法 argsort 是用在 numpy 数据类型中的排序方法( numpy 里也有 ...
- python循环语句-详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- python scatter参数详解_Python中scatter函数参数及用法详解
最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...
最新文章
- python梯度下降法实现线性回归_【机器学习】线性回归——多变量向量化梯度下降算法实现(Python版)...
- COM+组件注册方法
- 学java_如何一步一步的学Java
- 【深度学习】梯度消失和梯度爆炸问题的最完整解析
- Spark _16 _SparkUIMaster HA
- 安卓编程坐标系的一个问题
- 比较两个表格的不同_两表数据的核对,WPS表格似乎更加方便容易
- 征战云时代,如何捍卫企业数据安全?
- java的四种修饰符访问权限
- ubuntu下搭建车场环境(代码使用jekins构建)
- 关于win7启动看不到桌面的解决方法
- 测试用例入门(二) - 使用等价类划分法编写测试用例
- VLC支持的视频和音频文件扩展名
- python中pop类型_Python基础之基本数据类型
- 出售时间的网站(跟王利芬创建的优米网其中一种模式一样)
- 基于Spring boot的云客服系统实现
- 花式感染 Windows PE 病毒的一百种方法,你中过招吗?
- 短信验证码平台哪家速度快又稳定,推荐下?
- 武汉大学计算机学院2015级,武汉大学研究生课程-数据挖掘-2015级研究生试题.doc...
- PLC通讯实现-C#访问OpcUa实现读写PLC(十)
热门文章
- 计算机网络——链路层之局域网
- Leetcode--304. 二维区域和检索
- python pip gpl_python pip怎么更新包
- linux 查看vnc端口_VNC常用操作及常见问题解决办法汇总
- vts传感器采取船舶的_智慧船舶交通管理系统
- 多源异构数据_构建数字孪生城市的CIM数据平台哪家强?
- python中str和input_python中eval()函数和input()函数用法解析
- TensorFlow打印一个tensor值报错
- 逻辑回归实现多分类任务(python+TensorFlow+mnist)
- CompletableFuture详解~supplyAsync