当前位置: 首页 > 图灵资讯 > 行业资讯> Python中几个必须知道的函数

Python中几个必须知道的函数

发布时间:2025-09-26 11:09:05

Python中有几个有趣的函数,通常在面试或笔试的基础上会被问及,其中三个是maphon、filter、reduce函数。

1.map(function, iterable)

第一个要传输的元素是函数名或lambda匿名函数表达式,第二个元素传输到可迭代对象。

array=[1,2,3,4,5]result=map(lambdax:x+1,array)result#result直接打印的结果是一个对象,需要用list进行转换
具体结果可见一斑<0000000003A79518,mapobjectat000000000000>list(result)[2,3,4,5,6]

在这里,我们可以看到map函数结果中的每个元素都比原列表中对应的元素大1,我缩写的lambda表达式是添加每个元素1。

由此可见,map()函数的作用是操作可迭代对象中的每个元素,然后返回元素操作后形成的可迭代对象。

2.filter(function, iterable)

同样,第一个参数传输到函数名或匿名函数,第二个元素传输到可迭代对象

#首先按照map的函数输入试试array=[1,2,3,4,5]result=filter(lambdax:x+1,array)result<filterobjectat
0x0000000003A79550>list(result)
#结果没有变化,说明参数没有返回[1、2、3、4、5]
#True将函数进行、False判断返回试验result1=filter(lambdax:xifx%2==0elsenone,array)result1<filterobjectat
0x0000000003C28A90>list(result1)
#回到True的值[2,4]

可以从上面的代码中得出,filter()函数是将可迭代对象的元素代入函数,然后返回到True元素,通常可以在不写循环的情况下进行筛选。

3.reduce(function, iterable)

reduce函数只在python2中有,传入参数和mapp、filter是一样的。然而,它的函数传入两个元素。将前两个元素代入函数后,返回操作值,返回值作为第一个元素,并将第三个元素作为第二个元素再次代入函数,直到返回最终结果结束。

array=[1,2,3,4,5]
result=reduce(lambdax,y:x+y,array)
list(result)
#1+2+3+4+5=1515

其操作步骤其实很简单:

第一次x=1,y=2传入匿名函数,x+y是返回值3

第二次x=3(返回的3),y=3(此3是列表中的第二个元素)代入函数,返回x+y为6

第三次x=6,y=4.返回x+y为10

第四次x=10,y=5.返回x+y为15

后面没有元素可以直接传入结束。

温馨提示:python工具中的函数不一定是最快的算法,只是为了方便使用,编写快速简单的代码,如果你追求速度或手动滚动最佳算法。(这就是为什么面试中有这么多算法和数据结构的问题)

相关文章

Python中reduce函数和lambda表达式的学习

Python中reduce函数和lambda表达式的学习

2025-09-26
Python小白必学的面向对象

Python小白必学的面向对象

2025-09-26
一个例子解释python装饰器

一个例子解释python装饰器

2025-09-26
深入理解Python的set和dict

深入理解Python的set和dict

2025-09-26
Python中正则表达式的巧妙使用

Python中正则表达式的巧妙使用

2025-09-26
5分钟搞定Python中函数的参数

5分钟搞定Python中函数的参数

2025-09-26