【Python】Python中的高阶函数

news/2024/7/4 19:47:44 标签: map(), reduce(), sort(), filter()

map()

接受两个参数,一个是函数变量,一个是List,map()会把函数变量作用于List中的每个元素,最后返回一个新的List。

reduce()

接受两个参数,一个是函数变量,一个是List;与map()的区别在于,reduce中的函数变量必须接受两个参数,而reduce则会把这个函数依次作用于前面的处理结果和下一个元素。

例如,编写一个f函数,接收x和y,返回x和y的和:

def f(x, y):
    return x + y

调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

先计算头两个元素:f(1, 3),结果为4;
再把结果和第3个元素计算:f(4, 5),结果为9;
再把结果和第4个元素计算:f(9, 7),结果为16;
再把结果和第5个元素计算:f(16, 9),结果为25;
由于没有更多的元素了,计算结束,返回结果25。

reduce()还可以接收第3个可选参数,作为计算的初始值。

filter()

接受两个参数,一个是函数变量,一个是List;filter()会通过函数判断List中的每一个值,对于函数返回值为true的情况,filter()会把此时的List元素筛选出来,重新组成一个新的List。

sort()

sort()可以为List排序,不管List中的元素是数字还是字符串;也可以实现倒序排序,那么需要自己定义倒序排序函数,然后把这个倒序函数作为参数传进去。


http://www.niftyadmin.cn/n/1426166.html

相关文章

【Python】Python中返回函数

Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!

显示隐藏层

<input typecheckbox οnclick"huerreson.style.displaythis.checked?:none"> <div idhuerreson style"border:1px solid #000;display:none">ywicc.com</div>

【Python】Python中的匿名函数

由于Python支持高阶函数的存在&#xff0c;而高阶函数支持函数作为输入参数&#xff0c;有时候&#xff0c;我们不定义传入的函数&#xff0c;而直接在传入参数的地方&#xff0c;把这个函数的表达式写出来更方便&#xff0c;这就是Pythong中的匿名函数。 >>> map(la…

预览广告,点击一下显示,在点击隐藏

预览广告,点击一下显示,在点击隐藏<script> function showframe(id){if( document.getElementById("picframe_"id).style.display"none"){document.getElementById("picframe_"id).style.display"";}else{docum…

【Python】decorator

编写decorator: 首先编写decorator函数&#xff0c;以log为例&#xff1a; def log(f):def fn(x):print call f.__name__ ()...return f(x)return fn 在这里&#xff0c;log函数中定义了一个fn函数&#xff0c;fn中打印了log并返回f&#xff0c;log函数返回fn。注意&…

文件上传改文件名,取数据库图片

图片要以pic名字另存为 只要这句话 File file su.getFiles().getFile(0); file.saveAs("advertiser/uploadfiles/" pic, su.SAVE_VIRTUAL); 不要 su.save("advertiser/uploadfiles"); 显示图片 <% String id request.getParameter("…

【Python】模块和包

把代码放在不同的py文件中&#xff0c;每个py文件就是一个模块。不同模块中&#xff0c;可以存在相同的变量名。 在一个模块中调用其他模块时候&#xff0c;用import关键字&#xff0c;比如 import math。 当模块很多时候&#xff0c;模块名容易重名&#xff0c;这时候需要把…

【C++】STL容器总结

https://blog.csdn.net/hudfang/article/details/52934130 三大类容器&#xff1a; 1. 序列式容器&#xff1a;vector、deque、list vector是一种动态数组&#xff0c;在内存中具有连续的存储空间&#xff0c;支持快速随机访问。由于具有连续的存储空间&#xff0c;所以在插…