首页 > 编程 > Python > 正文

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

2020-01-04 14:50:52
字体:
来源:转载
供稿:网友

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

1.  filter(function,sequence)

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

示例

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

2. map(functiom,sequence)

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

示例

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

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

def func(x,y):  return x+yseq1=[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+yreduce(add,[3,6,4,8])#21#相当于运行‘3+6+4+8'=21

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

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

4. lambda匿名函数

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

示例

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

将lambda和reduce结合

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

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


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表