• python内置函数


    """ 1.lambda 函数: 匿名函数
    # 格式   lambda 参数: 返回值
    # f = lambda a,b,c: (a+b)*8
    # re = f(1,2,8)
    # print(re)
    
    #2, sorted排序,
    #格式 sorted(iterable,key=func,reverse = True/False) ,默认 按数字正序排序
    # 执行流程:
    #          把可迭代对象中的每一个元素拿出来, 放到func中运行. 返回一个数字. 根据数字进行排序
    # li = [0,4,2,3,4,6,7,8,8]
    # print(sorted(li))
    # re = sorted(li, key=lambda x: x>2, reverse=True)
    # print(re)
    
    #3 .filter() 筛选 filter(func, iterable)
    # 执行流程:
    #       把可迭代对象的每一个元素拿出来,交给func函数运行,返回值True或者False,保留结果为True,的元素,舍弃运行结果Falsed
    # li = [1,2,3,4]
    # a = filter(lambda x:x>1,li)
    # print(list(a))
    #4 . map 映射,filter(func, Iterable)
    # 执行流程:
    # 把可迭代对象中的每一个元素拿出来, 放到func中运行.返回数据就是结果
    # li = [1,47,147,4,4,7]
    # rel = map(lambda a :a+1,li)
    # print(list(rel))
    #5  .递归
            自己调用自己
            递归的入口
            递归的出口: return
            递归的循环条件:动
    def func():
        print("hello world!")
        dunc() #  递归入口
    
    
    import os
    def func(file_p, cen=0):
        li = os.listdir(file_p)
        for file in li:
            file_new_path = os.path.join(file_p,file)
            if os.path.isdir(file_new_path):
                print("	"*cen, file_new_path)
                return func(file_new_path,cen+1)
            else:
                print("	"*cen,file)
        else:
            return
    
    func("E:cntv",0)
    
    6 二分法查找
            核心思想: 掐头结尾取中间.
            前提条件: 有序.
    
    lst = [5,9, 8,4,21,1,8,7,54,9,9,5,84,21,8]
    def fin(n,ls):
    
        st = 0
        en = len(ls)-1
        mid = (st + en) // 2 # 取中间数值
        if st <= en:
            if n > ls[mid]:
                st = mid + 1
                return fin(n,ls[st:]) # 返回截取剩余的列表数据
            elif n < ls[mid]:
                en = mid - 1
                return fin(n,ls[:en]) ## 返回截取剩余的列表数据
            else:
                print("在这里!") # 查询到结果
                return True
        else:
            return "不再" #查询结束, 结果不再其中 
    lst.sort()
    print(lst)
    print(fin(84,lst))
    
    
    li = [1,5,58,7,8,2,4,5,9]
    def cha(n, ls ,le = 0,ri = None):
        if ri == None:
            ri = len(ls)-1
        mid = (le + ri)
        if le <= ri:
            if n > ls[mid]:
                le = mid + 1
            elif n < ls[mid]:
                ri = ri -1
            else:
                return mid
            return cha(n,ls,le,ri)  # 循环查询列表锁定去
        else:
            return "-1"
    
    print(cha(1,li))
    
  • 相关阅读:
    量化投资:第3节 滑点策略与交易手续费
    量化投资:第2节 择时策略的优化
    量化投资: 第1节 择时策略的开发
    一步一步,完成sparkMLlib对日志文件的处理(1)
    JAVA接口与抽象类区别
    HDU1877 又一版 A+B
    HDU4548 美素数
    超级楼梯 HDU2041
    HDU2013 蟠桃记【递推】
    HDU1262 寻找素数对
  • 原文地址:https://www.cnblogs.com/tcpblog/p/9682898.html
Copyright © 2020-2023  润新知