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实现从百度API获取天气的方法
Mar 11 Python
python简单实现旋转图片的方法
May 30 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
python opencv 直方图反向投影的方法
Feb 24 Python
Python实现获取前100组勾股数的方法示例
May 04 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
Jul 26 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
如何基于python实现不邻接植花
May 01 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 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
基于文本的搜索
2006/10/09 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php全角字符转换为半角函数
2014/02/07 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Mac下安装vue
2018/04/11 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
django数据模型(Model)的字段类型解析
2019/12/25 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
公司培训欢迎词
2014/01/10 职场文书
行政主管职责范本
2014/03/07 职场文书
学校门卫岗位职责
2014/03/16 职场文书
公司聘任书模板
2014/03/29 职场文书
法人委托书范本
2014/04/04 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
立志成才演讲稿
2014/09/04 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
Python中常见的导入方式总结
2021/05/06 Python
Vue全局事件总线你了解吗
2022/02/24 Vue.js
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL