86565656 发表于 2015-4-24 08:51:16

Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)


[*]Map函数:
  原型:map(function, sequence),作用是将一个列表映射到另一个列表,
  使用方法:
  def f(x):
      return x**2
  l = range(1,10)
  map(f,l)
  Out:

[*]Reduce函数
  原型:reduce(function, sequence, startValue),作用是将一个列表归纳为一个输出,
使用方法:
  def f2(x,y):
      return x+y
  reduce(f1,l)
  Out: 45
  reduce(f2,l,10)
  Out: 55

[*]Filter函数
  原型:filter(function, sequence),作用是按照所定义的函数过滤掉列表中的一些元素,
使用方法:
  def f2(x):
      return x%2 != 0
  filter(f2,l)
  Out:
  记住:这里的function必须返回布尔值。

[*]Lambda函数
  原型:lambda : 函数体,隐函数,定义一些简单的操作,
使用方法:
  f3 = lambda x: x**2
  f3(2)
  Out: 4
  还可以结合map、reduce、filter来使用,如:
  map(f3,l)
  Out:

[*]列表推导式
  基本形式:, 这里x表示对item的操作,
  使用方法:
  
  Out:

[*]字典设置默认值
  python字典中设置条目默认值在有些时候非常有用,例如初始化一个字典的时候。
使用方法:
  x = {}
  x.setdefault(1,0)
  Out: 0
  x = 10
  x
  Out: {1: 0, 2: 10}
  x.setdefault(2,1)
  Out: 10
页: [1]
查看完整版本: Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)