sunyke 发表于 2017-4-29 12:54:29

每天进步一点点 --python学习1

lambda语句的理解
lambda需要一个参数,后面仅跟单个表达式作为函数体。
ex:
#!/usr/bin/python
#Filename:test.py
def repeater(n):
return lambda s:s*n
twice = repeater(2)
print twice('hello')//返回hellohello
print twice(3) //返回6

python中filter,map和reduce理解
filter方法调用:
resultlist = filter(func,seq)
@param func:可调用对象,接受seq中元素作为参数;
@param seq:可跌代对象,每个元素在func中执行一次;
resultlist是seq元素的列表子集,func只是告诉filter怎么选择元素构成返回列表;
map方法调用:
resultlist = map(func,seq)
@param func:可调用对象,接受seq中元素作为参数;
@param seq:可跌代对象;
resultlist是把func结果作为返回列表;
reduce方法调用:
reduce(func,seq[,init])
@param func:接受两个参数的可调用对象;
@param seq:可跌代对象;
@param init:初始值
作用是对seq中从左至右的每两个元素,调用func,然后将结果传递到下次调用。
ex:
a=
resultlist1 = filter(lambda x:x>3,a) //返回结果是
resultlist2 = map(lambda x:x>3,a)//返回结果
reduce(lambda x,y:x+y,a)//返回结果10
reduce(lambda x,y:x+y,a,1) //返回结果11
页: [1]
查看完整版本: 每天进步一点点 --python学习1