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 <map object at 0x0000014C511BD898> >>> 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中有哪些常见的内置高效率函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。