Python3 中sorted() 函数的用法


Posted in Python onMarch 24, 2020

描述

sorted() 函数对所有可迭代的对象进行排序操作。

语法

sorted(iterable, key=None, reverse=False) 

iterable ? 可迭代对象。
key ? 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse ? 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

案例

>>> a_dict={'A':2,'B':3,'C':4,'D':1,'E':5}
>>> sorted_a_dict = sorted(a_dict.items(), key = lambda x:x[1], reverse = True)
>>> sorted_a_dict
[('E', 5), ('C', 4), ('B', 3), ('A', 2), ('D', 1)]

## sorted() 函数对所有可迭代的对象进行排序操作,返回重新排序的列表
## items() 方法以列表返回可遍历的(键, 值) 元组数组。
## lambda 构造匿名函数,以元组中第二个元素作为排序依据,即x[1]
## reverse = True 表示降序排列
## 最后得到的 word_freq_dict 为按照频率倒叙排列的 (键, 值)元组 的列表

知识点补充:python中sort函数与sorted函数的区别

sort与sorted的区别:

sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。

list的sort方法返回的是对已存在的列表操作后的结果,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。

语法

sorted用法:sorted(iterable,cmp=None,key=None,reverse=False)

sort用法:sort(cmp=None,key=None,reverse=False)

参数说明:

iterable--可迭代的对象

cmp--比较函数,比较什么由参数key决定,例如:cmp(e1, e2) 是具有两个参数的比较函数,返回值:负数(e1 < e2);0(e1 == e2);正数( e1 > e2)。

key--用列表元素的某个属性或函数作为关键字

reverse--排序规则,reverse=True降序,reverse=False升序(默认)

区别:
对于一个无序列表a,调用a.sort(),对a排序后返回a,sort()函数修改待排序的列表内容

而对于一个无序列表a,调用sorted(a),对a排序后返回一个新的列表,对a无影响

例:

Python3 中sorted() 函数的用法

总结

到此这篇关于Python3 中sorted() 函数的用法的文章就介绍到这了,更多相关Python3 sorted() 函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python help()函数用法详解
Mar 11 Python
Python之列表的插入&amp;替换修改方法
Jun 28 Python
Python3.7中安装openCV库的方法
Jul 11 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
浅谈Pandas:Series和DataFrame间的算术元素
Dec 22 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 Python
python3 pygame实现接小球游戏
May 14 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Python实现七个基本算法的实例代码
Oct 08 Python
Python内置函数及功能简介汇总
Oct 13 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 #Python
pyqt5 QlistView列表显示的实现示例
Mar 24 #Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 #Python
PyQt5中向单元格添加控件的方法示例
Mar 24 #Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 #Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 #Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 #Python
You might like
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
python中黄金分割法实现方法
2015/05/06 Python
Python 装饰器深入理解
2017/03/16 Python
Python实现FM算法解析
2019/06/18 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
python多线程使用方法实例详解
2019/12/30 Python
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
C++程序员求职信范文
2014/04/14 职场文书
广告学专业求职信
2014/06/19 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
SQL SERVER存储过程用法详解
2022/02/24 SQL Server