python-数组A按照数组B顺序排序
0.应用背景
在编程中,A、B两个数组存在一定对应关系;若其中一个数组需要进行排序,另外一个数组也需要根据相同顺序进行调整。
1.使用sorted()函数排序
想将数组A、B使用zip()函数进行压缩,sorted()排序之后,利用zip(*zipped)进行解压缩。
A = [1,2,3,4,5,6]
B = ['h','e','l','l','o',',']Z = zip(A,B)
Z = sorted(Z,reverse=True)
print(Z)
#result:[(6, ','), (5, 'o'), (4, 'l'), (3, 'l'), (2, 'e'), (1, 'h')]
A_new,B_new = zip(*Z)
print(A_new,'\n',B_new)
# result:
# (6, 5, 4, 3, 2, 1)
# (',', 'o', 'l', 'l', 'e', 'h')
2.sorted函数用法简介(http://www.runoob.com/python/python-func-sorted.html)
sorted(iterable, cmp=None, key=None, reverse=False)
参数详解:
- iterable:是可迭代类型;
- cmp:用于比较的函数,比较什么由key决定;
- key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;
- reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,有默认值。
- 返回值:是一个经过排序的可迭代类型,与iterable一样。
3.zip() 函数简介(http://www.runoob.com/python/python-func-zip.html)
zip([iterable, ...])
参数说明:
- iterabl -- 一个或多个迭代器;
- 返回值:返回元组列表。
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
python-数组A按照数组B顺序排序相关推荐
- javascript 数组按名称的字母顺序排序
1. 出现场景: 支付系统需要生成签名加密,有一次我接了一个接口,需要前端的同事传递一个sign参数(表单值按顺序拼接,并拼上私钥值进行md5运算) 问题: js 不像java 有map.list 等 ...
- python对字符串按照ascII码顺序排序
直接使用sorted函数进行排序 sorted(item) #item为一个字符串
- python去重排序_python读取TXT到数组及列表去重后按原来顺序排序的方法
#################################################################### # python 读取TXT到数组 列表去重,不打乱原来的顺序 ...
- python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...
本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...
- python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法
这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...
- 【python】二维数组按照某行或某列排序(numpy lexsort)
这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...
- 将字符数组中的字符按从小到大的顺序排序
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容10]编写一个函数,要求用字符数组名作为参数,函数功能是将 ...
- python数组随机打乱_对Python random模块打乱数组顺序的实例讲解
在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...
- JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...
最新文章
- php 制表符分隔csv,CSV(逗号分隔)、文本文件(制表符分隔) 等文件的读取
- python的pip安装-pip安装python库的方法总结
- 如何在线将pdf转换成ppt格式
- 企业进销存管理系统 email_进销存财务软件选它就对了!
- 用React开发SAP Fiori应用
- 基础设备----笔记
- spring容器bean的作用域 spring容器是否是单例的一些问题
- android cursor 空,java – Android:即使数据库不为空,Cursor也总是返回null
- shell command 输入时的快捷键
- arm linux 中文输入法,ARM 安装中文输入法
- Tomcat7安装及配置教程
- Hibernate中类的继承联合使用subclass和join
- 豆瓣高分电影爬取项目,思路清晰,易上手,附免费代码下载
- SQL 查询的分布式执行与调度
- 分享几个好用的WP插件,让你的网站牛逼起来
- Dragonfly——一款功能强大的在线家庭装潢设计软件
- android 根目录缓存,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...
- 微信趣味测评小程序独立版源码
- multisim怎么设置晶体管rbe_multisim中三极管参数
- _stdcall和_cdec区别
热门文章
- [imx6ull]ADC编程-烟雾传感器采样
- svn迁移到git报Checksum mismatch: TapiParser/jar/tapiParser/tapiParser.jar c7a0bbbcc00e06bf963e4499faf829
- mac访问pd虚拟机上服务器,Mac如何访问pd虚拟机文件夹 Mac访问pd虚拟机文件夹图文教程...
- 计算机专业二本分数线大概是,我高考大概只能考400分了,想学计算机,你们说能到什么学校...
- 用匠人的精神去做移动应用安全
- iPhone解锁密码忘了,指纹识别也用不了 -- 恢复iPhone吧
- Spring入门到精通(二)
- Spring入门案例【spring框架创建对象】(超详细)
- java前端有三元表达_js 三元表达式
- js判断是微信还是支付宝浏览器