列表

正向排序

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序列(列表,元组,字典)的常用排序的更多相关文章

  1. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  2. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  3. Python学习-列表元组字典操作

    一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

  4. Python之列表&元组&字典

    今天学习了Python的基本数据类型,做以下笔记,以备查用. 一.列表 列表的常用方法: 1.append()方法 def append(self, p_object): # real signatu ...

  5. python字符串 列表 元组 字典相关操作函数总结

    1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...

  6. python字符串/列表/元组/字典之间的相互转换(5)

    一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...

  7. python 中列表 元组 字典 集合的区别

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

  8. python基础-列表元组字典

    1.列表和元组 列表可以对数据实现最方便的存储.修改等操作 names=["Alex","tenglan","Eric","Rai ...

  9. python的列表 元组 字典

    列表和元组都是序列,是数据元素的集合,数据元素可以是数值.字符串,布尔值.对象等. 一.列表:用方括号定义[] 空列表 names = [] 带值的列表 names = ["bill&quo ...

  10. 【python】列表&&元组&&字典

    列表:用“[]”包裹,可对值增删改. 列表遍历: 方法一: alist=["a","b","c","d","e ...

随机推荐

  1. Spark整合HBase,Hive

    背景: 场景需求1:使用spark直接读取HBASE表 场景需求2:使用spark直接读取HIVE表 场景需求3:使用spark读取HBASE在Hive的外表 摘要: 1.背景 2.提交脚本 内容 场 ...

  2. ArcGis 拓扑检查——狭长角锐角代码C#

    中学的时候醉心于研究怎么“逃课”,大学的时候豁然开悟——最牛逼的逃课是准时准地儿去上每一课,却不知到老师讲的啥,“大隐隐于市”大概就是这境界吧. 用到才听说有“余弦定理”这么一个东西,遂感叹“白上了大 ...

  3. 使用keytool自建证书及应用

    1. 在密钥库文件 keystore.jks 中生成证书: keytool -genkey -alias cas -keyalg RSA -keypass changeit -storepass ch ...

  4. vue 移动端日期选择组件 vue-mobile-calendar

    vue-mobile-calendar cnpm install vue-mobile-calendar -S import Vue from 'vue' import Calendar from ' ...

  5. ps 命令的十个简单用法【转】

    注记 ps 命令有两种不同的语法风格 —— BSD 与 UNIX 两种风格.新手常常对这两种形式产生误解,因此我们有必要在这里作一个简单的说明: ps aux 与 ps -aux 是不同的,例如 -u ...

  6. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

  7. 【SRM-06 D】五色战队&&【codeforces 788E】 New task

    原题链接:788E - New task Description 游行寺家里人们的发色多种多样,有基佬紫.原谅绿.少女粉.高级黑.相簿白等. 日向彼方:吾令人观其气,气成五彩,此天子气也. 琉璃:我们 ...

  8. Docker(三)Docker是如何工作的

    摘自 https://mp.weixin.qq.com/s/SsXIuDqeze_et8vWQ8fr3g 一.Docker Client 也称为Docker客户端.其实就是Docker提供命令行界面工 ...

  9. Linux之增加系统调用[内核编译]

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 由于操作系统实验的缘故,有一个实验需要 ...

  10. 安装Vmware并破解

    1. 先下载Vmware安装包 链接:http://pan.baidu.com/s/1hsjCKgk 密码:c1o6 2. 解压缩 3. 运行VMware-workstation-full-10.0. ...