匿名函数及内置函数
1.lamda匿名函数
a=lambda x:x*x print(a(6))
不需要def声明,一句话就可以声明出来一个函数
注意:1.函数的参数可以有多个,多个参数之间用逗号隔开
2.匿名函数不管多复杂,只能写一行,逻辑结束后直接返回数据
2.sorted()排序函数
sorted(iterable,key=none,reverse=false)
语法: sorted(Iterable, key=None, reverse=False)
Iterable: 可迭代对象
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函
数的参数. 根据函数运算的结果进行排序
3.filter筛选函数
4.map映射函数
5.递归应用
遍历树形结构 import os filePath = "d:\sylar\python_workspace" def read(filePath, n): it = os.listdir(filePath) # 打开文件夹 for el in it: # 拿到路径 fp = os.path.join(filePath, el) # 获取到绝对路径 if os.path.isdir(fp): # 判断是否是文件夹 print("\t"*n,el) read(fp, n+1) # 又是文件夹. 继续读取内部的内容 递归入口 else: print("\t"*n,el) # 递归出口 read(filePath, 0)
递归必须要有入口和出口
6.二分法
lst = [11,22,33,44,55,66,77,88,99,123,234,345,456,567,678,789,1111] def binary_search(left, right, n): middle = (left + right)//2 if left > right: return -1 if n > lst[middle]: left = middle + 1 elif n < lst[middle]: right = middle - 1 else: return middle return binary_search(left, right, n) print(binary_search(0, len(lst)-1, 65) )