python学习历程第15天

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) )

  

猜你喜欢

转载自www.cnblogs.com/wszxdzd/p/9342801.html