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))
原文地址:https://www.cnblogs.com/tcpblog/p/9682898.html