这篇文章给大家分享的是几个常用的python函数的用法,包括lambda、filter、map、reduce,小编觉得挺实用的,面试中也很常见,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
1 lambda
匿名函数,用法如下:
# lambada 参数,参数,参数 : 返回的表达式
示例1:
f = lambda x, y: x * y print(f(2, 3)) # 6
示例2:
r = (lambda x, y: x+y)(1, 2) print(r) # 3
2 filter
filter(function, sequence):对sequence
中的item
依次执行function(item)
,将执行结果为 True
的item
组成一个filter
对象(可迭代)(取决于sequence
的类型)返回。
示例:
''' 学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' def gt_5(x): return x > 5 r = filter(gt_5, range(10)) print(list(r)) # [6, 7, 8, 9]
3 map
map(function, sequence):对sequence
中的item
依次执行function(item)
,见执行结果组成一个map
对象(可迭代)返回。
示例:
def mysum(x, y): return x + y r = map(mysum, range(5), range(5, 10)) print(list(r)) # [5, 7, 9, 11, 13]
4 reduce
python3
中,reduce
已经从全局名称空间里移除,需要从functiontools
中导入。
reduce
(function, sequence, starting_value):对sequence
中的item
顺序迭代调用function
,如果有starting_value
,还可以作为初始值。
示例:
''' 学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' def mysum(x, y): return x + y from functools import reduce r = reduce(mysum, range(10)) print(r) # 45
5 联合使用
示例:计算1!+2!+...+10!
def factorial(n): if n == 1: return 1 return n*factorial(n-1) r = reduce(lambda x, y: x + y, map(factorial, range(1, 11))) print(r) # 4037913
关于常用的python函数的用法就介绍到这,需要的朋友可以解决参考。常用python函数还有很多,这里只是简单的分享了几个,想要了解更多python函数,大家可以关注其它的相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:本站进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。