python list map成员排序_python – 同时对多个列表进行排序
简短的回答
a_s, b_s, c_s = map(list, zip(*sorted(zip(a, b, c), reverse=True)))
答案很长
首先,您必须压缩三个列表,创建一个项目列表:
>>> a = [0.3, 1.5, 0.2, 2.6]
>>> b = [1, 2, 3, 4]
>>> c = [0.01, 0.02, 0.03, 0.04]
>>> z = zip(a, b, c)
>>> z
[(0.3, 1, 0.01), (1.5, 2, 0.02), (0.2, 3, 0.03), (2.6, 4, 0.04)]
然后,您对此列表进行排序.元组列表按其第一个元素排序(当第一个元素相等,第二个元素使用时,依此类推):
>>> zs = sorted(z, reverse=True)
>>> zs
[(2.6, 4, 0.04), (1.5, 2, 0.02), (0.3, 1, 0.01), (0.2, 3, 0.03)]
然后你“解压缩”列表.解压缩与使用每个元组作为参数调用zip相同,这是通过使用星形语法实现的:
>>> u = zip(*zs)
>>> u
[(2.6, 1.5, 0.3, 0.2), (4, 2, 1, 3), (0.04, 0.02, 0.01, 0.03)]
你得到一个元组列表,但你想要列表.因此,您将列表构造函数映射到以下项目:
>>> u
[(2.6, 1.5, 0.3, 0.2), (4, 2, 1, 3), (0.04, 0.02, 0.01, 0.03)]
>>> map(list, u)
[[2.6, 1.5, 0.3, 0.2], [4, 2, 1, 3], [0.04, 0.02, 0.01, 0.03]]
然后,您可以将列表解压缩到变量中:
>>> a_s, b_s, c_s = map(list, u)
意见
排序时,您可以明确指出将用于排序的项目,而不是依赖于元组的默认排序:
>>> from operator import itemgetter
>>> sorted(z, key=itemgetter(1)) # Sort by second item
[(0.3, 1, 0.01), (1.5, 2, 0.02), (0.2, 3, 0.03), (2.6, 4, 0.04)]
>>> sorted(z, key=itemgetter(2)) # Sort by third item
[(0.3, 1, 0.01), (1.5, 2, 0.02), (0.2, 3, 0.03), (2.6, 4, 0.04)]
python list map成员排序_python – 同时对多个列表进行排序相关推荐
- python 列表自动排序_Python学习小技巧之列表项排序的示例代码分享
这篇文章主要给大家介绍了Python学习小技巧之列表项排序的相关资料,文中介绍的非常详细,需要的朋友们可以参借鉴,下面跟着小编一起来学习学习吧. 本文介绍的是关于Python列表项排序的相关内容,分享 ...
- python list map成员排序_python的map关于Python列表排序方法reverse、sort、sorted详细说明...
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python的map怎么用_python中的map怎么使用
python中的map方法怎么使用?下面给大家介绍一下具体使用的方法: 描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 functio ...
- python列表数据排序_Python中,如何将列表中数据排序给列表排序?
在程序中使用字典进行数据信息統计时由于字典是无序的所以打印字典时内容也是无序的.因此为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排序和按&quo ...
- python3字典升序排序_Python(32)常用指引:排序指南
排序指南 >>> >>> sorted("This is a test string from Andrew".split(), key=str ...
- python获取a股数据_python获取A股数据列表的例子
2015年的股市是当下的热门话题,同事的朋友弄了一个简单的弹股吐槽单页面单日PV就能达30W+ ,相当于本博客一年的PV量.所以站在技术角度,这里也写几篇关于股票技术面的文章.首先本篇先从获取A股列表 ...
- linux下 文件排序,把 Linux 上的文件列表和排序玩出花来
在 Linux 系统上,有许多方法可以列出文件并显示它们的信息.这篇文章回顾了一些提供文件细节的命令,并提供了自定义文件列表的选项,以满足你的需求. 大多数命令都会列出单个目录中的文件,而其他命令则可 ...
- python类的成员函数_Python实现动态添加类的属性或成员函数的解决方法
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法.用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块. 本文就此简述了Python实现动态添加类的属性或 ...
- python大文件排序_python实现按创建时间对文件排序
测试中,测试log是经常需要保存一段时间以便于后续查询,但是如果一段时间不删除,会导致硬盘空间变小而影响自动化测试,通常空间太小,自动化测试case就不能调用了,或者即使调用,可能会引起新测试的log ...
最新文章
- 今晚8点直播 | 详解微软小冰全双工语音对话技术
- C++数据结构链表的基本操作
- logstash mysql eror_Logstash安装记录(报错com.mysql.jdbc.Driver not loaded的解决)
- 初级程序员面试不靠谱指南(六)
- ExceptionLess新玩法 — 记日志
- 普里姆算法(修路问题)+图解
- 联想成立数据智能事业部,前京东蓝烨回归;华为或已向多国知识产权组织提交「鸿蒙」商标申请……...
- 简单封装kafka相关的api
- 大厂十年研发经历,总结了12条安卓开发条经验
- Ubuntu系统---WeChat安装
- solr学习笔记-增加mmesg4J中文分词
- 大数据在农业农村的应用
- swift中闭包的循环引用
- 培养架构思维成为优秀的架构师
- 基于支持向量机的量化选股模型
- 大咖云集,从1到N,第十二届中国IDC产业年度大典集锦
- 8.6 循环辅助:continue和break
- python爬取二级页面_爬虫代码改进(二)|多页抓取与二级页面
- 回归问题-逐步回归(Stepwise Regression)
- 【庖丁解牛】要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据
热门文章
- mapreduce,map后面跟map是什么操作???
- leetcode 452. Minimum Number of Arrows to Burst Balloons | 452. 用最少数量的箭引爆气球(左程云:最大线段重合问题)
- 小师妹学JVM之:JVM中的Safepoints
- Spring Cloud的架构
- 算法训练营01-学习总览
- 17.explain_api
- jQuery的引入和使用
- 【GIF动画+完整可运行源代码】C++实现 归并排序——十大经典排序算法之五
- Python数据结构学习笔记——栈
- C++编程练习:多态实验——利用抽象类和纯虚函数,编程计算正方体、球体和圆柱体的表面积和体积。