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 相关文章推荐
Python3读取zip文件信息的方法
May 22 Python
Python制作简易注册登录系统
Dec 15 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
详解关于Django中ORM数据库迁移的配置
Oct 08 Python
Python中logging实例讲解
Jan 17 Python
Python读取csv文件实例解析
Dec 30 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
python中pymysql包操作数据库方法
Apr 19 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分页显示制作详细讲解
2008/11/19 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
PHP中使用hidef扩展代替define提高性能
2015/04/09 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
Python模拟百度登录实例详解
2016/01/20 Python
Python中生成Epoch的方法
2017/04/26 Python
深入理解Django-Signals信号量
2019/02/19 Python
python3.6实现学生信息管理系统
2019/02/21 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
Python如何定义一个函数
2015/09/01 面试题
建筑工程技术应届生求职信
2013/11/17 职场文书
奶茶店创业计划书
2014/08/14 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
为自己工作观后感
2015/06/11 职场文书
python实现双链表
2022/05/25 Python