python多维数组排序算法_python 多维数组的排序
这几天写php程序,发现php里有一个array_multisort()函数十分好用,可以轻松对多维数组进行排序,查了查python的相关资料,视乎没有一个比较直接的函数来完成多维数组的排序
单个数组的排序很简单,直接用sort就能完成,如一下ipython代码:
In [39]: array = [4, 2, 5, 1, 3]
In [40]: array.sort()
In [41]: array
Out[41]: [1, 2, 3, 4, 5]
多维数组的排序如直接用sort讲会按第一维的数据进行排序,如:
In [42]: array = [ ['b', 4], ['e', 2], ['a', 5], ['d', 1], ['c', 3] ]
In [43]: array.sort()
In [44]: array
Out[44]: [ ['a', 5], ['b', 4], ['c', 3], ['d', 1], ['e', 2] ]
如何按第二维的数据进行排序呢,我们可以用sort函数中的key形参,代码接上,如:
In [45]: array.sort(key=lambda x:x[1])#lambda x:x[1]返回list的第二个数据
In [46]: array
Out[46]: [ ['d', 1], ['e', 2], ['c', 3], ['b', 4], ['a', 5] ]
也可以用一个函数实现,比较直接,如:
In [55]: def sort(a):
....: for k in xrange(len(a)):
....: (a[k][0], a[k][1]) = (a[k][1], a[k][0])
....: a.sort()
....: for k in xrange(len(a)):
....: (a[k][0], a[k][1]) = (a[k][1], a[k][0])
....:
In [56]: array = [ ['b', 4], ['e', 2], ['a', 5], ['d', 1], ['c', 3] ]
In [57]: sort(array)
In [58]: array
Out[58]: [ ['d', 1], ['e', 2], ['c', 3], ['b', 4], ['a', 5] ]
python多维数组排序算法_python 多维数组的排序相关推荐
- PHP二维数组排序算法函数
<?php // 二维数组排序算法函数,能够具有通用性,可以调用php内置函数. function array_sort(&$arr, $order = []){$result = [] ...
- Java黑皮书课后题第8章:*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序
*8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序.这个方法首先按行排序,然后按列排序 题目 题目描述 破题 代码 运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个 ...
- python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...
Python二维数组实现求出3*3矩阵对角线元素的和示例 题目:求一个3*3矩阵对角线元素之和. 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. def two_dime ...
- PHP面试题:写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数(array_multisort())
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 function array_sort($arr, $keys, $order=0) {if ( ...
- 二维数组排序算法php,phpsort_php二维数组排序方法
摘要 腾兴网为您分享:php二维数组排序方法,中信金通,掌上公交,云南移动,悟空识字等软件知识,以及电脑鼠标连点器,趣赚赚,顺广传媒,佳能lide220,口袋校园,放放影院,手机炒股软件,建行商城,平 ...
- python运维课程标准_Python运维初级课程
随着信息时代的持续发展,IT 运维已经成为 IT 服务内涵中重要的组成部分.面对越来越复杂的业务以及日趋多样化的用户需求,不断扩展的 IT 应用需要合理的 IT 运维保障 IT 服务灵活便捷.安全稳定 ...
- java 二维数组排序 sort_js sort 二维数组排序的用法小结
最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的 ...
- python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例
冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...
- python numpy np.argsort()(返回将对数组进行排序的索引)(不懂区别?)
from numpy\core\fromnumeric.py @array_function_dispatch(_argsort_dispatcher) def argsort(a, axis=-1, ...
最新文章
- 我作为一个程序员,除了写程序还会干什么?什么都不会了!
- Java自动装箱与拆箱及其陷阱
- mybatis中#和$区别
- 【专升本计算机】专升本计算机期末考试复习题(C卷附答案)
- java 线程状态_浅析Java中的线程状态
- 双面板文件打点器——emelFM2
- 寻找指定型别的父控件
- android 多次点击事件,Android按钮onclick事件在多次单击后激发
- allan方差 imu_基于RWTLS的Allan方差算法简化
- 什么是WINSOCK WSADATA
- 干货 :六招教你用Python分分钟构建好玩的深度学习应用
- 假如工资有段位,你是个啥?
- nginx proxy_pass规则
- 基于python的QQ第三方登陆实现工具类
- vue路由传参到底有几种方式
- [极客大挑战 2019]LoveSQL
- 浅谈Servlet的本质
- 朋友圈怎么设计测试用例,面试官听完都惊呆了
- 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)
- 【THREE源码解析篇】THREE.Matrix4源码详解