在python2中,sort有一个 cmp 参数 , 即用一个函数来自定义比较,在python3中这种方式被取消 。为了继承类似的用法,在 Python 3.2 中,functools.cmp_to_key()函数被添加到标准库中的functools 模块中 。
这种作用先定义如何比较两个变量,以上面的学生列表按照年龄排序为例
这种做法自定义比较函数接收两个形参,返回比较结果(bool) , 而新式方法接受一个参数,返回的是比较的键 。
假设有字典 d = {'b':2, 'a':1,'c':8,'d':4},则可以通过以下方式对字典按照键和值进行排序
Python 之内置函数:filter、map、reduce、zip、enumerate这几个函数在 Python 里面被称为高阶函数,本文主要学习它们的用法 。
filter 函数原型如下:
第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对iterable序列依次执行function(item)操作,返回结果是过滤之后结果组成的序列 。
简单记忆:对序列中的元素进行筛选,获取符合条件的序列 。
返回结果为:,使用list函数可以输入序列内容 。
map 函数原型如下:
该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;
下述代码是一个简单的测试案例:
上述代码运行完毕,得到的结果是:。使用print(list(my_new_list))可以得到结果 。
map函数的第一个参数,可以有多个参数,当这种情况出现后 , 后面的第二个参数需要是多个序列 。
map 函数解决的问题:
reduce 函数原型如下:
第一个参数是函数,第二个参数是序列,返回计算结果之后的值 。该函数价值在于滚动计算应用于列表中的连续值 。
测试代码如下:
最终的结果是 6,如果设置第三个参数为 4 , 可以运行代码查看结果,最后得到的结论是,第三个参数表示初始值,即累加操作初始的数值 。
简单记忆:对序列内所有元素进行累计操作 。
zip 函数原型如下:
zip函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组 , 然后返回由这些元组组成的列表 。
如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同 , 利用星号(*)操作符 , 可以将元组解压为列表 。
测试代码如下:
展示如何利用*操作符:
输出结果如下:
简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典 。
enumerate 函数原型如下:
参数说明:
该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中 。
测试代码如下:
返回结果为:。
本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率 。最好的学习资料永远是官方手册
关于python2内置函数和python内置函数及用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- python中stdout,python中stdoutwrite
- 关于css3after的信息
- 射击游戏最帅角色排行榜,射击游戏高手
- c语言中exp函数图形 c语言execlp函数
- pg库查询是否包含某字段sql,sql 查询 包含某些字符
- 铜陵sap咨询热线的简单介绍
- 非要直播的女人什么心理,开直播的女人值得追吗?
- java大数据代码 javaee 大数据
- jquerymath取整,jquery 取name