关于python中sorted方法的key参数?(python sort key)

发布时间 : 08-16

Python帮助文档中对sorted方法的讲解:sorted(iterable[,cmp,[,key[,reverse=True]]])作用:返回一个经过排序的列表。第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。可选的参数有三个,cmp、key和reverse。1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。key参数的值应该是一个函数,这个函数接收一个参数并且返回一个用于比较的关键字。对复杂对象的比较通常是使用对象的切片作为关键字。例如:students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]sorted(students, key=lambda s: s[2]) #按年龄排序# [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

在Python中如何使用sorted()函数排序?

>>>a = [5,7,6,3,4,1,2]

>>> b = sorted(a) # 保留原列表

>>> a [5, 7, 6, 3, 4, 1, 2]

>>> b[1, 2, 3, 4, 5, 6, 7]

如上,这样就用排序函数对列表进行了排序。

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>> sorted(students, key=lambda s: s[2]) # 按年龄排序[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

>>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>>

如上,可以按照升序跟降序进行排序。

请参考。

Python里面有什么好用且有趣的模块?

python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫、数据处理、可视化、机器学习、神经网络、股票财经、游戏这7个方面,主要内容如下:

1.爬虫:相信大部分人都用python爬过数据,目前来说,比较流行的框架是scrapy,对爬取数据来说,简单方便了不少,只需要自己添加少量的代码,框架便可启动开始爬取,当然,还有简单地爬虫包,像requests BeautifulSoup,对于爬取简单网页来说,也足够了:

2.数据处理:numpy,scipy,pandas这些包对于处理数据来说非常方便,线性代数、科学计算等,利用numpy处理起来非常方便,pandas提供的DataFrame类可以方便的处理各种类型的文件,像excel,csv等,是分析数据的利器:

3.可视化:这里的包其实也挺多的,除了我们常用的matplotlib外,还有seaborn,pyecharts等,可以绘制出各种各样类型的图形,除了常见的线图、饼图和柱状图外,还可以绘制出地图、词云图、地理坐标系图等,美观大方,所需的代码量还少,更容易上手:

4.机器学习:说起python机器学习,大部分人都应该scikit-learn这个包,常见的机器学习算法,像回归、分类、聚类、降维、模型选择等,这里都有现成的代码可供利用,对于这机器学习方面感兴趣的人来说,这是一个入门机器学习的好包:

5.神经网络:说起神经网络,大部分人都应该会想起深度学习,对应的就会想到谷歌目前非常流行的深度学习框架—tensorflow,tesndorflow可被用于语音识别和图像识别等众多领域,其发展前景光明,对于这方面感兴趣的科研人员来说,是一个很不错的工具,当然,还有基于tensorflow的theano,keras等,都是学习神经网络的不错选择:

6.股票财经:对于股票和财经比较感兴趣的朋友来说,python也提供了现成的库来获取和分析股票财经数据—tushare,tushare是一个免费、开源的python财经数据接口包,可以快速的获取到国内大部分股票数据,对于金融分析人员来说,可以说是一个利器,降低了许多任务量:

7.游戏:python专门为游戏开发提供了一个平台—pygame,对于想快速开发小型游戏的用户来说,是一个很不错的选择,简单易学、容易上手,脱离了低级语言的束缚,使用起来也挺方便的:

目前就介绍这7个方面和对应的包,比较流行也比较实用、有趣,感兴趣的朋友,可以了解一下,希望以上分享的内容能对你有所帮助吧。

文章推荐:

关于python中sorted方法的key参数?(python sort key)

【最新】模拟人生3游戏语言英文改中文,教程?

为什么C#排名和Python相差越来越大?

手机编程python可以实现吗?有哪些软件值得推荐?(socket编程python)

python安装不了,咋回事?