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顺序排序相关推荐

  1. javascript 数组按名称的字母顺序排序

    1. 出现场景: 支付系统需要生成签名加密,有一次我接了一个接口,需要前端的同事传递一个sign参数(表单值按顺序拼接,并拼上私钥值进行md5运算) 问题: js 不像java 有map.list 等 ...

  2. python对字符串按照ascII码顺序排序

    直接使用sorted函数进行排序 sorted(item) #item为一个字符串

  3. python去重排序_python读取TXT到数组及列表去重后按原来顺序排序的方法

    #################################################################### # python 读取TXT到数组 列表去重,不打乱原来的顺序 ...

  4. python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

    本文实例讲述了Python实现二维数组按照某行或列排序的方法.分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对 ...

  5. python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法

    这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下 本文 ...

  6. 【python】二维数组按照某行或某列排序(numpy lexsort)

    这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...

  7. 将字符数组中的字符按从小到大的顺序排序

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容10]编写一个函数,要求用字符数组名作为参数,函数功能是将 ...

  8. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  9. JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)

    创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...

最新文章

  1. php 制表符分隔csv,CSV(逗号分隔)、文本文件(制表符分隔) 等文件的读取
  2. python的pip安装-pip安装python库的方法总结
  3. 如何在线将pdf转换成ppt格式
  4. 企业进销存管理系统 email_进销存财务软件选它就对了!
  5. 用React开发SAP Fiori应用
  6. 基础设备----笔记
  7. spring容器bean的作用域 spring容器是否是单例的一些问题
  8. android cursor 空,java – Android:即使数据库不为空,Cursor也总是返回null
  9. shell command 输入时的快捷键
  10. arm linux 中文输入法,ARM 安装中文输入法
  11. Tomcat7安装及配置教程
  12. Hibernate中类的继承联合使用subclass和join
  13. 豆瓣高分电影爬取项目,思路清晰,易上手,附免费代码下载
  14. SQL 查询的分布式执行与调度
  15. 分享几个好用的WP插件,让你的网站牛逼起来
  16. Dragonfly——一款功能强大的在线家庭装潢设计软件
  17. android 根目录缓存,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...
  18. 微信趣味测评小程序独立版源码
  19. multisim怎么设置晶体管rbe_multisim中三极管参数
  20. _stdcall和_cdec区别

热门文章

  1. [imx6ull]ADC编程-烟雾传感器采样
  2. svn迁移到git报Checksum mismatch: TapiParser/jar/tapiParser/tapiParser.jar c7a0bbbcc00e06bf963e4499faf829
  3. mac访问pd虚拟机上服务器,Mac如何访问pd虚拟机文件夹 Mac访问pd虚拟机文件夹图文教程...
  4. 计算机专业二本分数线大概是,我高考大概只能考400分了,想学计算机,你们说能到什么学校...
  5. 用匠人的精神去做移动应用安全
  6. iPhone解锁密码忘了,指纹识别也用不了 -- 恢复iPhone吧
  7. Spring入门到精通(二)
  8. Spring入门案例【spring框架创建对象】(超详细)
  9. java前端有三元表达_js 三元表达式
  10. js判断是微信还是支付宝浏览器