Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167720
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-13 17:05
文章分类

全部博文(31)

文章存档

2016年(11)

2015年(20)

我的朋友

分类: LINUX

2016-01-04 13:00:22

filter(function,sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/string/Tuple(取决与sequence的类型)返回:
  1. In [84]: def f(x):
  2.    ....: return x % 2 !=0
  3.    ....:

  4. In [85]: filter(f,range(1,11))
  5. Out[85]: [1, 3, 5, 7, 9]
map(function,sequence):对sequence中的item一次执行function(item),见执行结果组成一个list返回:

  1. In [86]: def f2(x):
  2.    ....: return x ** 2
  3.    ....:

  4. In [87]: map(f2,range(1,11))
  5. Out[87]: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
reduce(function,sequence,starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对list求和:

  1. In [88]: def add(x,y):
  2.    ....: return x + y
  3.    ....:

  4. In [89]: reduce(add,range(1,11))
  5. Out[89]: 55

  6. In [90]: reduce(add,range(1,11),20)
  7. Out[90]: 75
lambda:可以定义单行的最小函数,也叫匿名函数

  1. In [91]: a = lambda x: x**2

  2. In [92]: a(5)
  3. Out[92]: 25

  4. In [93]: (lambda x: x**2)(5)
  5. Out[93]: 25
阅读(1425) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~