python序列(列表,元组,字典)的常用排序
列表
正向排序
sort()
>>> list=[1,6,3,4,5,2]
>>> list.sort()
>>> list
[1, 2, 3, 4, 5, 6]
sorted()
>>> sorted([1,6,3,4,5,2])
[1, 2, 3, 4, 5, 6]
sort与sorted区别
sort是永久的,而sorted是临时的。
逆向排序
sort()
>>> list=[1,6,3,4,5,2]
>>> list.sort(reverse=True)
>>> list
[6, 5, 4, 3, 2, 1]
sorted()
>>> sorted([1,6,3,4,5,2],reverse=True)
[6, 5, 4, 3, 2, 1]
反转排序
reverse()
>>> list=[1,6,3,4,5,2]
>>> list.reverse()
>>> list
[2, 5, 4, 3, 6, 1]
切片方法
>>> list=[1,6,3,4,5,2]
>>> list[::-1]
[2, 5, 4, 3, 6, 1]
多层列表排序
#对列表的第二个元素排序
>>> list=[('b',6),('a',1),('c',3),('d',4)]
>>> list.sort(key=lambda x:x[1])
>>> list
[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
#对列表的第二个元素排序后,再对第一个元素排序
>>> list=[('b',1),('a',1),('c',3),('d',4)]
>>> list.sort(key=lambda x:(x[1],x[0]))
>>> list
[('a', 1), ('b', 1), ('c', 3), ('d', 4)]
元组
元组排序可通过list函数将元组转换成列表,采用列表排序方法即可。
元组列表间转换方法:
list1=[1,2,3]
tup1=tuple(list1)
print(tup1)
print(list(tup1)) 运行结果
(1, 2, 3)
[1, 2, 3]
字典
通过key排序
d = {'a': 2, 'A': 1, 'c': 3, 'b': 2}
sorted_key_list = sorted(d) #正向排序
#sorted_key_list = sorted(d,reverse=True) #逆向排序
print(sorted_key_list)
sorted_dict = list(map(lambda x:{x:d[x]}, sorted_key_list))
print(sorted_dict)
运行结果
['A', 'a', 'b', 'c'] # 根据ascii码大小排序
[{'A': 1}, {'a': 2}, {'b': 2}, {'c': 3}]
通过value排序
d = {'a': 2, 'A': 1, 'c': 3, 'b': 2}
sorted_key_list = sorted(d, key=lambda x:d[x]) #正向排序
# sorted_key_list = sorted(d, key=lambda x:d[x], reverse=True) #逆向排序
print(sorted_key_list)
sorted_dict = list(map(lambda x:{x:d[x]}, sorted_key_list))
print(sorted_dict)
运行结果:
['A', 'a', 'b', 'c']
[{'A': 1}, {'a': 2}, {'b': 2}, {'c': 3}]
PS:
Map函数在python2中返回的是一个列表,而在python3中返回的是一个迭代器(地址)。故想以列表输出,需要在map前添加list,转换下格式。
python序列(列表,元组,字典)的常用排序的更多相关文章
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- Python学习-列表元组字典操作
一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...
- Python之列表&元组&字典
今天学习了Python的基本数据类型,做以下笔记,以备查用. 一.列表 列表的常用方法: 1.append()方法 def append(self, p_object): # real signatu ...
- python字符串 列表 元组 字典相关操作函数总结
1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...
- python字符串/列表/元组/字典之间的相互转换(5)
一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- python基础-列表元组字典
1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...
- python的列表 元组 字典
列表和元组都是序列,是数据元素的集合,数据元素可以是数值.字符串,布尔值.对象等. 一.列表:用方括号定义[] 空列表 names = [] 带值的列表 names = ["bill&quo ...
- 【python】列表&&元组&&字典
列表:用“[]”包裹,可对值增删改. 列表遍历: 方法一: alist=["a","b","c","d","e ...
随机推荐
- react暴露webpack配置文件
在react中安装create-react-app脚手架新建项目,但是新建的项目中没有配置文件. webpack的配置文件webpack.base.conf.js隐藏在了node_modules文件夹 ...
- adb server version (31) doesn't match this client (40); killing...
删除360的手机助手即可解决,进程名字360MoblieMgr.exe
- Quartz.NET 配置文件详解
Ø 前言 在之前的 使用 Topshelf 结合 Quartz.NET 创建 Windows 服务 文章中,使用到了 Quartz 的两个配置文件 quartz.config 和 quartz_jo ...
- deque
转自:https://www.cnblogs.com/LearningTheLoad/p/7450948.html deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩 ...
- Sqlserver 连接oracle和mysql数据库 已经oracle导入sqlserver表数据
SQL Server2012创建连接服务器到ORACLE11G 8,百思考不知道原因啊??突然我发现如下:链接服务器—〉访问接口—〉OraOLEDB.Oracle—〉允许进程内没有勾上,但是我想上面的 ...
- dwr出现session error
把项目冲tomcat6迁移到tomcat7之后,在项目运行中发现用到dwr的地方出现了session error错误, 网上搜了一下,是因为tomcat7的安全机制. 解决方法: 在项目的web.xm ...
- easyui 进阶之表单校验、自定义校验
前言 easyui是一种基于jQuery的用户界面插件集合,它为创建现代化,互动,JavaScript应用程序,提供必要的功能,完美支持HTML5网页的完整框架,节省网页开发的时间和规模.非常的简单易 ...
- java调试与排错
参考网址:http://www.doc88.com/p-461115156632.html 一.Java程序调试与错误收集 1.Web程序的调试与排错:尽量使用System.out.println() ...
- RPO攻击 & share your mind
参考文章: https://xz.aliyun.com/t/2220 http://www.thespanner.co.uk/2014/03/21/rpo/ https://www.lorexxar. ...
- Struts2-052 漏洞复现
s2-052漏洞复现 参考链接: http://www.freebuf.com/vuls/147017.html http://www.freebuf.com/vuls/146718.html 漏洞描 ...