1、lambda 匿名函数,一行搞定一个函数,不适用于复杂的函数操作
语法:变量 = lambda 参数 :函数体(直接return的内容)
def func(n):
return n*n
print(func(3))
print(func.__name__) # 查看函数名
fun = lambda x:x*x
print(fun(3))
2、sorted() 函数
语法:sorted(lterable,key=None,reverse=False)
li = ['aa','dwd','aaaa','fsaaaa','zza','a']
def fun(s):
return s.count('a') # 返回数字
ll = sorted(li,key=fun) # 把可迭代对象的每一个元素传递给fun
print(ll)
#或者
li = sorted(li,key=lambda s:s.count('a'))
print(li)
# age排序
lst = [
{'id':1,'name':'alex','age':18},
{'id':2,'name':'adx','age':16},
{'id':3,'name':'jyx','age':23},
{'id':4,'name':'sdx','age':31},
{'id':5,'name':'aizl','age':32},
]
def func(dic):
return dic['age']
print(sorted(lst,key=lambda dic:dic['age']))
3、filter() 函数,返回一个迭代器,将第二个参数中的每一个元素传递给函数,返回True就留下该元素
语法:filter(函数,lterable)
lst = [1,2,3,4,5,6,7]
li = filter(lambda i:i%2==1,lst)
print(list(li))
4、map() 映射函数
语法:map(函数,lterable)
lst = [1,2,3,4,5,6,7]
it = map(lambda i:i*i,lst) #可迭代对象每一个元素进行映射,分别执行函数
print(list(it))
l1 = [1,2,3,4,5,6]
l2 = [2,4,6,8,10]
print(list(map(lambda x,y:x+y,l1,l2)))#函数有多个参数需要一一对应
5、递归
import os
filePath = r"G:\python\untitled1"
def read(filePath):
it = os.listdir(filePath) # 查看文件夹中的文件
for i in it:
if os.path.isdir(os.path.join(filePath,i)): # 判断文件是文件夹还是文件
read(os.path.join(filePath,i))
else: # 普通文件,不是文件夹了
print(i)
read(filePath)
python(day11)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.