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]