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访问MySQL封装的常用类实例
Nov 11 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
python 动态调用函数实例解析
Oct 21 Python
wxpython实现按钮切换界面的方法
Nov 19 Python
Django查询优化及ajax编码格式原理解析
Mar 25 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
解决Django no such table: django_session的问题
Apr 07 Python
Python 实现一个计时器
Jul 28 Python
Python如何执行精确的浮点数运算
Jul 31 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 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 变量类型的强制转换
2009/10/23 PHP
PHP7匿名类用法分析
2016/09/26 PHP
window.ActiveXObject使用说明
2010/11/08 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
详解puppeteer使用代理
2018/12/27 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
Python中的fileinput模块的简单实用示例
2015/07/09 Python
Python 从相对路径下import的方法
2018/12/04 Python
详解python做UI界面的方法
2019/02/27 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
教师评优的个人自我评价分享
2013/09/19 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
公司门卫岗位职责
2014/03/15 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
嘉宾邀请函
2015/01/31 职场文书
技术入股协议书
2016/03/22 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang