day 15 内置函数

一,lambda匿名函数
 1.语法  函数名=lambda 参数:返回值   

    a=lambda i:i**2
    print(a(2))

 2.不能用于复杂的函数

二.sorted()排序函数

 1.语法     sorted(可迭代对象(iterable),key=函数名,reserve=false(默认值))

lst=[
{"id":1,"name":"李金晓","age":25},
{"id":2,"name":"老丁","age":23},
{"id":3,"name":"程程","age":254},
{"id":4,"name":"王总","age":255},
{"id":5,"name":"付凌波","age":215}
]
a=sorted(lst,key=lambda dic:dic["age"])
print(a)

三.filter()筛选函数

 1.语法   filter(函数,可迭代的对象)

 2.第一个参数是函数,将第二个参数中的每一个元素都传给函数,函数如果反回True,留下该元素.

lst=[
{"id":1,"name":"李金晓","age":25},
{"id":2,"name":"老丁","age":23},
{"id":3,"name":"程程","age":254},
{"id":4,"name":"王总","age":255},
{"id":5,"name":"付凌波","age":215}
]
a= filter(lambda dic:dic["age"]>40,lst)
print(a)
print(list(a))

四.map()映射函数

 1.语法    map(函数,可迭代对象)

 2.把可迭代对象中的每一个元素传递给前面的函数进行处理

lst=[1,24,3,5,6,7]
a=map(lambda i:i**2,lst)
print(a)
print(list(a))

五.递归

  1.语法

    def func()

      func()

    fun()

  2.

lst = [22, 33, 44, 55, 66, 77, 88, 99, 101, 238, 345, 456, 567, 678, 789]
def func(left,right,n):
if left<=right:
middle=(left+right)//2
if n>lst[middle]:
left=middle+1
elif n<lst[middle]:
right=middle-1
else:
return middle
return func(left,right,n)
else:
return -1
print(func(0,len(lst),101))

六.二分法查找

1.查找的序列必须输有序序列.

    1.普通方法

n=int(input("请输入数字"))
lst = [22, 33, 44, 55, 66, 77, 88, 99, 101, 238, 345, 456, 567, 678, 789]
left=0
right=len(lst)-1

while left<=right:
middle=(left+right)//2
if n>lst[middle]:
left=middle+1
elif n<lst[middle]:
right=middle-1
else:
print("存在,位置:"+str(middle))
break
else:
print("不存在")

猜你喜欢

转载自www.cnblogs.com/hu13/p/9342106.html