匿名函数:
1.python使用 lambda来创建匿名函数
没有名字,函数体简单,lambda
语法:lambda[arg1[,arg2,.....argn]]:expression
#可写函数说明
sum = lambda arg2,arg2:arg1+arg2;
sum(1,2)
def XXX(arg1,arg2)
return arg1+arg2
sum=XXX(10,20)
#调用sum函数
print'相加后的值为:‘,sum(10,20)
print "相加后的值为 : ", sum( 20, 20 )
def add(a,b,fun): #可调用函数fun
print(fun(a,b))
add(11,22,lambda arg1, arg2: arg1 - arg2)
def test(a,b,func): #函数的引用 开辟空间 ()相当于调用
print(func(a,b))
def test2(x,y):
return x+y
test(5,6,tset2) #函数的调用 传参5,6传给test test2传给func 执行func a,b传给x,y
返回 x+y
Python 自带函数:
foo=[2,18,9,22,17,24,8,12,27]
1.map:print map (lambda x:x*2 + 10,foo) #列表中每一个元素全部*2 +10 map(函数,可迭代对象,)
2.filter: print filter(lambda x:x%3==0,foo) #过滤;满足条件返回元素
利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串:
def is_not_empty(s):
return s and len(s.strip()) > 0
filter(is_not_empty, ['test', None, '', 'str', ' ', 'END'])
3.reduce: Python 3 中取消了全局命名空间中的reduce()函数,将reduce()放到了 functools模块中
from functools import reduce
reduce()统计,返回累计相加的值
4.sorted()自定义排序
加reverse=Ture 反序
5. .sort()方法,改变原来列表顺序,并且没有返回值