码迷,mamicode.com
首页 > 编程语言 > 详细

Python 内置的一些高效率函数用法

时间:2017-05-06 15:08:13      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:font   tin   str   logs   匿名   表达式   表达   string   add   

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]

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 内置的一些高效率函数用法

标签:font   tin   str   logs   匿名   表达式   表达   string   add   

原文地址:http://www.cnblogs.com/wongbingming/p/6816544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!