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在linux系统下获取系统内存使用情况的方法
May 11 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
对python Tkinter Text的用法详解
Oct 11 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
python中Lambda表达式详解
Nov 20 Python
python3 sorted 如何实现自定义排序标准
Mar 12 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
Pytorch转tflite方式
May 25 Python
python中二分查找法的实现方法
Dec 06 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
js运动应用实例解析
2015/12/28 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
JS实现简单日历特效
2020/01/03 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
python进阶之自定义可迭代的类
2019/08/20 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
电子商务应届生自我鉴定
2014/01/13 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
励志演讲稿大全
2014/08/21 职场文书
世界地球日活动总结
2015/02/09 职场文书
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python