Python自定义类的数组排序实现代码


Posted in Python onAugust 28, 2016

首先把实现方法写出来,其实很简单,只需要一句代码即可:

productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice()))

数组productlist中存储的是自定义类Product,Product有一个方法是返回商品的价格,于是对productlist按照Product的价格从低到高进行排序,仅需要如此简单的一行代码即可实现。

Python真的是一门简洁而强大的语言,实际上,我也是从写出一行代码之后,才真正感受到这门语言的魅力。

写到这里,顺便介绍一下lambda表达式的相关知识,现在很多语言都支持lambda表达式,甚至包括.Net。

lambda函数一般也被叫做匿名函数,先来看一个最简单例子:

def test(x):
 return x**2
print test(4)

如果使用lambda,则语法如下:

test = lambda x : x**2
print test(4)

从上面的例子可以看出,lambda语句构建的其实是一个函数对象,lambda最大的特点就是,可以省去定义函数的过程,让代码更加精简。

关于lambda的语法
lambda语句中,冒号前是参数,可以有多个,用逗号隔开;冒号右边是返回值。

Python 相关文章推荐
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
Python并行分布式框架Celery详解
Oct 15 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
深入了解python列表(LIST)
Jun 08 Python
python开发的自动化运维工具ansible详解
Aug 07 Python
python 学习GCN图卷积神经网络
May 11 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 #Python
Django URL传递参数的方法总结
Aug 28 #Python
python 网络编程常用代码段
Aug 28 #Python
Fabric 应用案例
Aug 28 #Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 #Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 #Python
python解决方案:WindowsError: [Error 2]
Aug 28 #Python
You might like
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php时间戳转换的示例
2014/03/31 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python的re模块正则表达式操作
2016/05/25 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
Python用户自定义异常的实现
2020/12/25 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
消防安全管理制度
2014/02/01 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
提拔干部考察材料
2014/05/26 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
mysql部分操作
2021/04/05 MySQL
go goroutine 怎样进行错误处理
2021/07/16 Golang
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js