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字符串相似度匹配(Python实现字符串匹配的KMP算法)
- python正式参数(详解Python的三种可变参数)
- 用python制作一个简单的小程序(Python简单基础小程序的实例代码)
- pythonmath库引入方法(python使用thrift教程的方法示例)
- python3循环使用教程(Python3.4学习笔记之 idle 清屏扩展插件用法分析)
- nginxpython编写模块(Python开发之Nginx+uWSGI+virtualenv多项目部署教程)
- python与气象(使用Python和Prometheus跟踪天气的使用方法)
- python二叉树是怎么来的(Python二叉树的镜像转换实现方法示例)
- pythonredis使用场景(python redis 删除key脚本的实例)
- python 导入指定文件夹的模块(Python实现的在特定目录下导入模块功能分析)
- python图书馆管理系统源码(python实现图书借阅系统)
- python接口管理系统(基于Python实现用户管理系统)
- 微信小程序企业微信打卡(使用Python实现企业微信的自动打卡功能)
- python数据存取(python异步存储数据详解)
- python找到连续不重复最长英文串(Python实现简单查找最长子串功能示例)
- python有哪几种赋值(关于python多重赋值的小问题)
- 香蕉(香蕉三种人不宜吃)
- 没钱可以快乐吗(没钱也能快乐吗)
- 快乐是什么(快乐就是)
- 东南亚有哪个国家(东南亚有哪个国家最发达)
- 东南亚安全吗(好不好挣钱)
- 潘长江小品《照亮全家福》台词剧本完整版(潘长江小品照亮全家福台词剧本完整版)
热门推荐
- mysql怎样建立索引(MySQL创建索引需要了解的)
- jscanvas背景色(JavaScript canvas实现代码雨效果)
- vue是怎样进行页面跳转(Vue实现登陆跳转)
- laravel初始化(Laravel 登录后清空COOKIE的操作方法)
- php中怎么分割数组(PHP实现数组根据某个字段进行水平合并,横向合并案例分析)
- 前端面试题之promise的手动封装(Promise面试题详解之控制并发)
- php运行机制与原理(PHP进阶学习之类的自动加载机制原理分析)
- mysql order by id查询变慢(MySQL不使用order by实现排名的三种思路总结)
- thinkphp静态怎么设置(浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法)
- cssfloat和position功能(理解CSS浮动float、定位position)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9