Python常见内置高效率函数用法示例

这篇文章主要介绍了Python常见内置高效率函数用法,结合实例形式分析了Python中filter()、map()、reduce()、lambda匿名函数等功能与简单使用技巧,需要的朋友可以参考下

本文实例讲述了Python常见内置高效率函数用法。分享给大家供大家参考,具体如下:

1.  filter(function,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是True或者False)筛选,返回符合条件的元素,重组成一个String,List,Tuple等(跟sequence一样)

示例

 def func(x): return x%2==0 and x%3==0 filter(func,(3,6,8,12,15,21)) #(6, 12) 

2. map(functiom,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是数值)计算,无论sequence是什么类型,都返回List

示例

 def func(x): return x*2 map(func,(3,6,8,12,15,21)) #[6, 12, 16, 24, 30, 42] 

map支持多个sequence输入,但是function也要有相同数量的参数

 def func(x,y): return x+y seq1=[3,6,4,8] seq2=[6,4,3,7] map(func,seq1,seq2) #[9, 10, 7, 15] 

注意:以上示例是在python2.7中的,python3要用如下用法

 >>> map_obj = map(lambda x:x+1,[1,2,3,4]) >>> map_obj  >>> list(map_obj) [2, 3, 4, 5] 

3. reduce(function, sequence, starting_value)

将sequence中的item顺序迭代调用function,例如可以用来对List求和:

 def add(x,y): return x+y reduce(add,[3,6,4,8]) #21 #相当于运行‘3+6+4+8'=21 

如果有starting_value,还可以作为初始值调用

 def subtract(x,y): return x-y reduce(subtract,[3,6,4],20) #7 #相当于'20-3-6-4'=7 

4. lambda匿名函数

语法:lambda 参数1,参数2(,参数n..):表达式     返回的是一个函数对象

示例

 func=lambda x,y:x+y func(3,5) #8 

将lambda和reduce结合

 reduce(lambda x,y:x+y,[3,6,4,8]) #21 

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

以上就是Python常见内置高效率函数用法示例的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python