lambda匿名函数,sorted排序,filter()筛选,map()…
2018-08-17 09:47:02来源:博客园 阅读 ()
一丶匿名函数
语法:
函数名 = lambda参数:返回值
# 普通的正常的函数 def func(n): return n * n ret = func(9) print(ret) # 匿名函数 a = lambda n : n * n ret = a(9) print(ret)
说是匿名函数,可总该有个名字吧,我们可以用__name__来查看一下名字
b = lambda x: x+1 a = lambda n : n * n print(a.__name__) # __name__的值都是<lambda> print(b.__name__) # __name__的值都是<lambda>
单个变量传值可以这样传,那假如两个或多个变量呢,该怎么样呢?我们可以用小括号括起来,要不就会报错
def func(x, y): return x, y print(func(1,2)) #(1,2) suiyi = lambda x, y : (1, 2) # 笔试题 print(suiyi) print(suiyi(250,38)) #(1,2)
注意:
1.函数的参数可以有多个,多个参数之间用逗号隔开
2.匿名参数不管多复杂,只能写一行,且逻辑结束后直接返回数据
3.返回值和正常函数一样,可以是任意数据类型
二丶sorted排序
lst = [16, 18, 32, 54, 12, 9] lst.sort() # list的方法 print(lst) #[9, 12, 16, 18, 32, 54] #内置函数中提供了一个通用的排序方案, sorted() s = sorted(lst) print(s) #[9, 12, 16, 18, 32, 54]
语法:
sorted(Iterable,key = None,reverse=False)
Iterable:可迭代对象
key:排序规则(排序函数),在sorted内部将可迭代对象的每一个元素传递给这个函数的参考值,根据函数运算的结果进行排序(根据权重进行排序)
reverse:是否是倒序.True:倒序,False:正序
sorted可以跟lambda组合使用
lst = [ {'name':"迪迦奥特曼","age":48}, {"name":"雷欧娜",'age':38}, {"name":"赛文","age":39}, {"name":"泰罗","age":32}, {"name":"狗哥无敌","age":28} ] ll = sorted(lst, key=lambda el: len(el['name']), reverse=False) print(ll)
三丶filter()筛选函数
语法:
filter(function,Iterable)
function:用来筛选的函数,在filter中会自动的把iterable中的元素传递给function.然后根据function返回的True或者False来判断是否保留此项数据
Iterable:可迭代对象
lst = ["张无忌", "张铁林", "马丹", "曹丹","马大帅"] def func(el): if el[0] == '张': return False # 不想要的 else: return True # 想要的 # 筛选, # 将lst中的每一项传递给func, 所有返回True的都会保留, 所有返回False都会被过滤掉 f = filter(lambda el: el[0]!="张", lst) print("__iter__" in dir(f)) # 判断是否可以进行迭代 for e in f: print(e)
四丶map()映射函数
语法:
map(function,Iterable)
可以对可迭代对象中的每一个元素进行映射,分别取执行function
# 计算列表中没个数字的平方 #普通函数 lst = [1,4,7,2,5,8] ll = [] for el in lst: ll.append(el**2) print(ll) #映射 def func(el): return el**2 m = map(lambda el: el**2, lst) # 把后面的可迭代对象中的每一个元素传递给function, 结果就是function的返回值 print(list(m))
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python学习日记(九) 装饰器函数 2019-08-13
- python之函数、面向对象 2019-08-13
- python3基础之“函数(2)” 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash