- 匿名函数 lambda
- # 语法 lambda 参数 :返回值
-
def func(n): return n*n #返回值 a=lambda n:n*n print(func(3)) #9 print(a(3)) #9 def func(u): return u//2 #返回值 print(func(5)) #2 a=lambda u:u//2 print(a(6)) #3 a=lambda x,y,z,w,t,p,r,u:max(x,y,z,w,t,p,r,u) #最大值 print(a(2,3,1,3,6,8,8,11)) #11 b=lambda x,y,z,w,t,p,r,u:min(x,y,z,w,t,p,r,u) #最小值 print(b(6,7,11,2,55,6,8,7)) #2 a=lambda d,e,f,g,h:sum((d,e,f,g,h)) #求和 print(a(1,2,3,5,4)) #15 a=lambda d,e,f,g,h:sum((d,e,f,g,h),5) #求和 print(a(1,2,3,5,4)) #20 c=lambda x,y:sum((x,y)) print(c(1,2))
- 过滤 filter
- 语法:filter(function,iterable)
- True返回值 False不返回值
- # iterable 可迭代的
-
lst=['赵明','马东','马薇薇','王明阳','李志'] a=lambda el:el[0]!='马' f=filter(a,lst) print('__iter__'in dir(f))#判断是否可迭代 for i in f: print(i)#赵明 #王明阳 #李志 print(i,end=" ")#赵明 王明阳 李志 lst=['赵明','马东','马薇薇','王明阳','李志'] def func(el): if el[0]=="马": return False else: return True f=filter(func,lst) print("__iter__"in dir(f))#判断是否可迭代 for e in f: print(e) #print(e,end=" ")#赵明 王明阳 李志
- 排序 sorted()
-
lst = [16, 18, 32, 54, 12, 9] s=sorted(lst) #数字本身可以比较 print(s)#[9, 12, 16, 18, 32, 54] l=[1,4,6,81,4,2,18,8] li=sorted(l) print(li) l1=['张三','李四','张三三','李四四','王二二二'] l2=sorted(l1) print(l2) #字符串 先定义比较什么 def func(i): return len(i) l3=sorted(l1,key=func) print(l3)