列表

正向排序

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. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization(第一周)深度学习的实践层面 (Practical aspects of Deep Learning)

    1. Setting up your Machine Learning Application 1.1 训练,验证,测试集(Train / Dev / Test sets) 1.2 Bias/Vari ...

  2. 使用sort函数进行排序

    介绍 C++的一个重要组成部分STL(Standard Template Library),即标准模板库,是一些高级数据结构和算法的集合:高级数据结构(容器)主要包括list.set.vector.m ...

  3. @CrossOrigin注解与跨域访问

    在Controller中看到@CrossOrigin ,这是什么?有什么用?为什么要用? what? @CrossOrigin是用来处理跨域请求的注解 先来说一下什么是跨域: (站在巨人的肩膀上) 跨 ...

  4. 11-SQLServer的事务、存储过程和触发器

    一. 事务 在SQLServer中,每条SQL语句,默认就是一条隐式的事务,但是如果我们需要一组SQL语句,那么就需要采用SQLServer提供的特有的标记 来声明事务的开始.提交和回滚了. 事务的开 ...

  5. 服务器中同一个【ip:port】可以多次accept的问题

    一.多次bind的问题 服务器的[ip:port]被某套接字绑定成功后,在该绑定解除之前,同一个[ip:port],不能再次被其他套接字绑定,否则绑定失败 二.多次accept的问题 有外来连接时,若 ...

  6. event.target解析

    event.target返回最初触发事件的DOM对象. Vue例子: main.js methods:{ fan:function(event){ console.log(event.target); ...

  7. 1.3 第一个python程序

    使用Pycharm编写第一个python程序 1.打开 Pycharm,选择 Create New Project,创建一个新项目 2.选择Pure Python表示创建一个纯Python程序项目,  ...

  8. frame与iframe的区别及基本用法

    frame 和 iframe 的区别 1.frame 不能脱离 frameset 单独使用,iframe 可以: 2.frame 不能放到body中,否则将无法显示: 3.iframe 也可以嵌套在f ...

  9. 第26月第23天 nsobject 单例 CFAbsoluteTimeGetCurrent

    1.nsobject 单例 sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/ ...

  10. 谈谈jQuery中的数据类型检测

    这次是分享jQuery代码中的一些简写技巧,分析jQuery是如何优化代码的,如何用最少的代码来实现jQuery. 在我们工作中也常常会遇到一些数据类型检测,一些方法调用的形式 1 var arr = ...