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的几种标准输出重定向方式
Aug 15 Python
使用Python获取网段IP个数以及地址清单的方法
Nov 01 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
python把1变成01的步骤总结
Feb 27 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
python web框架中实现原生分页
Sep 08 Python
python add_argument()用法解析
Jan 29 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
Python基于mediainfo批量重命名图片文件
Dec 29 Python
python中的None与NULL用法说明
May 25 Python
python通过函数名调用函数的几种方法总结
Jun 07 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php语法检查的方法总结
2019/01/21 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
python win32 简单操作方法
2017/05/25 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
优秀毕业生自荐信
2014/06/10 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
如何理解及使用Python闭包
2021/06/01 Python
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技