当前位置: 首页 > news >正文

python元组倒序排列_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 k线顶分型_顶分型和底分型的确认及K线包含处理
  • oracle大量删除数据之后索引是否需要重建_深入浅出索引
  • python3.70_Python 2.7 辛苦了,你好Python 3.7
  • 内存分段分页机制理解_20 张图揭开「内存管理」的迷雾,瞬间豁然开朗
  • wpf项目无法使用针式打印机_针式打印机630K常见问题及解决方法
  • 控制网页frame vba_VBA网络通信基础
  • python str转list_python中从str中提取元素到list以及将list转换为str的方法
  • postman添加map_postman 脚本编程入门
  • 不同平台上安装python的方式是一样的吗_怎样在不同的操作系统上安装Python?
  • asp中注释掉代码_面试题:ASP.NET MVC笔试试卷
  • mysql 修改字段长度_Java架构笔记-通过MySQL存储原理来分析排序和锁
  • python中tuple的意思_Python中的tuple元组详细介绍
  • 两组声音的一维数据如何比较相似度_仅听声音就画出人脸,GAN再添新能力
  • mvc 扫描二维码跳转内部指定页面_小程序跳转最全使用手册
  • python 快速排名发包_SEO快速排名发包技术及原理
  • GitUp, 你不可错过的秀外慧中的git工具
  • laravel5.5 视图共享数据
  • Making An Indicator With Pure CSS
  • spark本地环境的搭建到运行第一个spark程序
  • Vue 动态创建 component
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 第十八天-企业应用架构模式-基本模式
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 服务器从安装到部署全过程(二)
  • 搞机器学习要哪些技能
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 前端学习笔记之观察者模式
  • 软件开发学习的5大技巧,你知道吗?
  • 算法---两个栈实现一个队列
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 用jQuery怎么做到前后端分离
  • 阿里云服务器购买完整流程
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ###STL(标准模板库)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • ( 10 )MySQL中的外键
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (力扣)1314.矩阵区域和
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • ***监测系统的构建(chkrootkit )
  • *Django中的Ajax 纯js的书写样式1
  • .Net 4.0并行库实用性演练
  • .net 怎么循环得到数组里的值_关于js数组
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net反编译工具
  • .sh
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • []Telit UC864E 拨号上网
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [ACM] hdu 1201 18岁生日