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进程管理工具supervisor使用实例
Sep 17 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
详解Python pygame安装过程笔记
Jun 05 Python
Python2随机数列生成器简单实例
Sep 04 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
pytorch permute维度转换方法
Dec 14 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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
239军机修复记
2021/03/02 无线电
PHP脚本的10个技巧(1)
2006/10/09 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
django基础学习之send_mail功能
2019/08/07 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
super关键字的用法
2012/04/10 面试题
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
兼职业务员岗位职责
2014/01/01 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
民事诉讼代理词
2015/05/25 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书