python-匿名函数、递归、二分查找法

匿名函数:

# 函数名 = lambda 参数:返回值
dic={'k1':10,'k2':100,'k3':30}
print(max(dic,key=lambda k:dic[k]))
print(list(map(lambda tup:{tup[0]:tup[1]},zip((('a'),('b')),(('c'),('d'))))))

#1.
num=[1,2,3,4,5,6]
ret=filter(lambda x:x%2==0,num)
print(list(ret))

递归:

import sys
sys.setrecursionlimit(100000)
n=0
def story():
    global n
    n+=1
    print(n)
    story()
story()

二分查找法:

#计算的方法
#二分查找法
l=[1,23,34,45,56,67,89,99,100]
def find(l,aim,start=0,end=None):
    end=len(l) if end is None else end
    mix_index=(end-start)// 2+start
    if start<=end:
        if l[mix_index] <aim:
            return find(l,aim,start=mix_index+1,end=end)
        elif l[mix_index] >aim:
            return find(l,aim,start=0,end=mix_index-1)
        else:
           return mix_index
    else:
        print("找不到")
ret=find(l,67)
print(ret)

猜你喜欢

转载自www.cnblogs.com/orange126/p/10885973.html