匿名函数统一的名字是:lambda表达式: lambda 参数:返回的值 fn = lambda a, b : a + b
print(fn(2,10)) def func(a,b): return a + b print(func(2,10)) 这两个意思是一样的,lambda 是定义一个很简单的函数. 复杂的函数不要用lambda
sorted() 排序 执行流程: sorted(可迭代对象,key=函数)
把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数. 函数返回数字. 根据数字进行排序
lst = ["卢本伟牛逼", "UU一血PDD拿", "葫芦岛吴奇隆", "55开", "white"]def func(s): return len(s)s = sorted(lst,key=func)print(s)lst = ["卢本伟牛逼", "UU一血PDD拿", "葫芦岛吴奇隆", "55开", "white"]g = sorted(lst,key=lambda i:len(i))print(g)
filter() 过滤 执行流程: filter(函数,可迭代对象)
lis = [ {"name":"alex", "shengao":150, "tizhong":250}, {"name":"wusir", "shengao":158, "tizhong":150}, {"name":"taibai", "shengao":177, "tizhong":130}, {"name":"ritian", "shengao":165, "tizhong":130}, {"name":"nvshen", "shengao":160, "tizhong":120}, {"name":"baolang", "shengao":183, "tizhong":190}]g = filter(lambda dic:dic["tizhong"]<=180,lis)print(list(g))# 把体重大于180的过滤掉
map() 映射函数 执行流程: map(函数,可迭代对象)
lis = ["卢本伟","UU","PDD","小智"]a = map(lambda i:i+"牛逼",lis)print(list(a))
有返回值的字符串串形式的代码用eval().
没有返回值的字符串串形式的代码用exec().
一般很少用到compile() (当别人把代码用文本格式传输过来的时候,用这个最合适) 参照模式 : compile("1+2","",mode="eval")
内置函数分类图 :
https://www.processon.com/view/link/5c10f564e4b091f1bf71eb55