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实现关键词提取的示例讲解
Apr 28 Python
Python实现基于POS算法的区块链
Aug 07 Python
python交换两个变量的值方法
Jan 12 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
python手写均值滤波
Feb 19 Python
重写django的model下的objects模型管理器方式
May 15 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
大数据分析用java还是Python
Jul 06 Python
Python3接口性能测试实例代码
Jun 20 Python
python基础之类方法和静态方法
Oct 24 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
ip签名探针
2006/10/09 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
使用coffeescript编写node.js项目的方法汇总
2015/08/05 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
Python高并发和多线程有什么关系
2020/11/14 Python
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
Delphi软件工程师试题
2013/01/29 面试题
雷人标语集锦
2014/06/19 职场文书
文明单位创建材料
2014/12/24 职场文书
小学思想品德教学反思
2016/02/24 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
python四种出行路线规划的实现
2021/06/23 Python