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的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Django中使用Celery的方法示例
Nov 29 Python
Python通用循环的构造方法实例分析
Dec 19 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python定时任务APScheduler安装及使用解析
Aug 07 Python
Python进行特征提取的示例代码
Oct 15 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
浅谈怎么给Python添加类型标注
Jun 08 Python
全网非常详细的pytest配置文件
Jul 15 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正则表达匹配中文问题分析小结
2012/03/25 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
php微信支付接口开发程序
2016/08/02 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
德国网上花店:Valentins
2018/08/15 全球购物
12月小学生校园广播稿
2014/02/04 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
学习与创新自我评价
2015/03/09 职场文书
新闻通讯稿模板
2015/07/22 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python