今天来讲一下Python中的排序函数。Python中有2个内建的排序函数,分别为sort() 和 sorted()

下面介绍分别介绍一下2个函数:

1.有一个列表 :a=[1,4,5,88,0,7],想要实现排序功能,可以使用sort() 和 sorted();

a.sort()              #默认升序排列
print(a) 输出:[0, 1, 4, 5, 7, 88]
a.sort(reverse=True)  #reverse=True,降序排列。默认FALSE:升序;
print(a) 输出:[88, 7, 5, 4, 1, 0]

b=sorted(a,reverse=True) #有返回值,需要用一个变量进行接收
print(b) 输出:[88, 7, 5, 4, 1, 0] 在这里,可以看出sort()是没有返回值的,它会改变原有的列表,而sorted()需要用一个变量进行接收,它并不会修改原有的列表 2. 参数key的应用:
什么情况下使用:当列表中的元素不再单一,若列表中包含元组或字典

如何应用: 使用lambda代表根据什么元素或key值进行排序
# 列表中包含元组,通过元组中某个元素进行排序;lambda x:x[元素位置]
stu=[("winnie","A",12),("lucy","C",16),("john","B",14)]
stu.sort(key=lambda x:x[2])
print(stu)
s=sorted(stu,key=lambda x:x[1],reverse=True) #默认false ,升序
print(s)
输出:
[('winnie', 'A', 12), ('john', 'B', 14), ('lucy', 'C', 16)]
[('lucy', 'C', 16), ('john', 'B', 14), ('winnie', 'A', 12)]
# 列表中包含字典,按照字典中某个key值进行排序  lambda x:x[key值]
l1=[{'name0':'李丽','age':40}, {'name0':'张那','age':30},{'name0':'王原','age':50},{'name0':'王丽萍','age':50}]
l2=sorted(l1,key=lambda x:x['age'])
print(l2)
结果:[{'name0': '张那', 'age': 30}, {'name0': '李丽', 'age': 40}, {'name0': '王原', 'age': 50}, {'name0': '王丽萍', 'age': 50}] 3.什么情况下不能使用sort()函数?
sort()函数是list的内建函数,不能针对字典等迭代,系统会直接报错 AttributeError: 'dict' object has no attribute 'sort' 4.sorted()函数使用举例:

# 有一个字典如下所示:
# 其中key表示数字,value表示这个数字出现的次数,比如1:2表示数字1出现了2次。
# 请针对这个字典按照出现的次数从多到少进行排序。 dict1={1: 2, 2: 2, 3: 1, 4: 7, 5: 6, 6: 4, 7: 3, 8: 2, 9: 1} d1=sorted(dict1.values(),reverse=True)#按values值进行排序
d2=sorted(dict1) #
d3=sorted(dict1.keys(),reverse=True) #按key值进行排序
print(d1)
print(d2)
print(d3) 输出:

[7, 6, 4, 3, 2, 2, 2, 1, 1]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]

碎碎念:感觉sorted()函数此处的应用有点鸡肋,输出值是列表~

Python3:排序函数sort() 和 sorted() 之介绍的更多相关文章

  1. [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...

  2. python排序函数sort()与sorted()区别

    sort是容器的函数:sort(cmp=None, key=None, reverse=False) sorted是python的内建函数:sorted(iterable, cmp=None, key ...

  3. Python中的排序方法sort(),sorted(),argsort()等

    python 列表排序方法sort.sorted技巧篇 转自https://www.cnblogs.com/whaben/p/6495702.html,学习参考. Python list内置sort( ...

  4. C++排序函数sort/qsort使用

    问题描述:        C++排序函数sort/qsort的使用 问题解决:           (1)sort函数使用   注:           sort函数,参数1为数组首地址,参数2是数组 ...

  5. C++ 排序函数 sort(),qsort()的使用方法

    想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描写叙述 sort 对给 ...

  6. linux makefile字符串操作函数 替换subst、模式替换patsubst、去首尾空格strip、查找字符串findstring、过滤filter、反过滤filter-out、排序函数sort、取单词word、取单词串wordlist、个数统计words

    1.1       字符操作函数使用 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函 ...

  7. python几个排序函数 sort sorted argsort

    Python中排序常用到的sort .sorted和argsort函数 [摘要:Python中sort 战 sorted函数 一 .先容 sort函数是list列表中的函数,而 sorted能够对li ...

  8. 排序函数 sort() 和 高阶函数sorted()

    · sorted():该函数第一个参数iterable为任意可以迭代的对象,key是用于比较的关键字,reverse表示排序结果是否反转. · L.sort():该函数的三个参数和 sorted() ...

  9. python 列表排序方法sort、sorted技巧篇

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorte ...

随机推荐

  1. springboot中配置过滤器以及可能出现的问题

    在springboot添加过滤器有两种方式: 1.通过创建FilterRegistrationBean的方式(建议使用此种方式,统一管理,且通过注解的方式若不是本地调试,如果在filter中需要增加c ...

  2. 【vue】vue全家桶

    vue-router(http://router.vuejs.org) vuex(https://vuex.vuejs.org/zh/guide/) vue-resource(https://gith ...

  3. Linux启动时间优化-内核和用户空间启动优化实践

    关键词:initcall.bootgraph.py.bootchartd.pybootchart等. 启动时间的优化,分为两大部分,分别是内核部分和用户空间两大部分. 从内核timestamp 0.0 ...

  4. Web Storage和cookie

    Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生; Web Storage的概念和cookie相似,区别是它是为了更大容 ...

  5. 开发工具IntelliJ IDEA的安装步骤及首次启动和创建项目

    开发工具IDEA概述 DEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写.所以,需要有JRE运行环境并配置好环境变量.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公 ...

  6. iOS 简易型标签的实现(UICollectionView)

    https://blog.csdn.net/sinat_39362502/article/details/80900984 2018年07月03日 16:49:05 Recorder_MZou 阅读数 ...

  7. eclipse(STS)安装jd-eclipse插件实现查看API源代码功能

    emmm,IDEA确实是比STS智能很多,不过适当的转化也是需要的,这里介绍一下eclipse(STS)实现查看class反编译的源文件的功能 去Java Decompiler官网下一下eclipse ...

  8. PLSQL:orecal,tnsname简介

    导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件             为了使得外部进程 如 CA ...

  9. Lodop打印表格带页头页尾 自动分页每页显示头尾

    Lodop中有两种专门给超文本表格的方式,ADD_PRINT_TABLE和ADD_PRINT_TBURL,该方式只能用于单个表格,表格外的内容不显示,是专门用于打印html超文本表格的.使用这两个语句 ...

  10. luogu2597-[ZJOI2012]灾难 && DAG支配树

    Description P2597 [ZJOI2012]灾难 - 洛谷 | 计算机科学教育新生态 Solution 根据题意建图, 新建一个 \(S\) 点, 连向每个没有入边的点. 定义每个点 \( ...