1. lambda 匿名函数    语法:        lambda 参数:返回值        不能完成复杂的操作例
# li=['21','asdd','weqeqw','wqf']# # it=iter(li)# # print(next(it))# # print(next(it))# ## it=li.__iter__()# print(it.__next__())### s="heihei21"# print(hash(s))

# import  os# name=input('请输入要内幕:')# __import__(name)# # print(name)# print(help(str))# print(dir(str))# a=11# print(type(a))# print(bin(20))# print(hex(20))# print(oct(20))# a=10# print(callable(a))

2. sorted() 函数    排序.    1. 可迭代对象    2. key=函数. 排序规则    3. reverse. 是否倒序例
# lst = [5,7,6,12,1,13,9,18,5]# # lst.sort()  # sort是list里面的一个方法# # print(lst)## ll = sorted(lst, reverse=True) # 内置函数. 返回给你一个新列表  新列表是被排序的# print(ll)

# 给列表排序. 根据字符串的长度进行排序lst = ["大阳哥a", "尼古拉斯aa", "赵四aaa", "刘能a", "广坤aaaaaa", "谢大脚a"]## def func(s):#     return s.count('a') #  返回数字## ll = sorted(lst, key=lambda s:s.count('a')) # 内部. 把可迭代对象中的每一个元素传递给func# print(ll)## lst = [#         {'id':1, 'name':'alex', 'age':18},#         {'id':2, 'name':'taibai', 'age':58},#         {'id':3, 'name':'wusir', 'age':38},#         {'id':4, 'name':'ritian', 'age':48},#         {'id':5, 'name':'女神', 'age':18}#        ]## ll = sorted(lst, key=lambda dic:dic['age'], reverse=True)# print(ll)
3. filter() 函数    过滤    1. 函数, 返回True或False    2. 可迭代对象例
# def func(i):    # 判断奇数#     return i % 2 == 1lst = [1,2,3,4,5,6,7,8,9]

ll = filter(lambda i:i%2==1, lst)#  第一个参数. 函数. 将第二个参数中的每一个元素传给函数. 函数如果返回True, 留下该元素.# print("__iter__" in dir(ll))# print("__next__" in dir(ll))# print(list(ll))

# lst = [#         {'id':1, 'name':'alex', 'age':18},#         {'id':2, 'name':'taibai', 'age':58},#         {'id':3, 'name':'wusir', 'age':38},#         {'id':4, 'name':'ritian', 'age':48},#         {'id':5, 'name':'女神', 'age':18}#        ]## print(list(filter(lambda dic: dic['age']>40, lst)))

4. map() 映射函数    1. 函数    2. 可迭代对象例
# lst = [1,2,3,4,5,6,7,8,9,0,23,23,4,52,35,234,234,234,234,234,23,4]# it = map(lambda i: i * i, lst) # 把可迭代对象中的每一个元素传递给前面的函数进行处理. 处理的结果会返回成迭代器# print(list(it))

# lst1 = [ 1, 2, 3, 4, 5]# lst2 = [ 2, 4, 6, 8]# print(list(map(lambda x, y:x+y, lst1, lst2))) # 如果函数中有多个参数. 后面对应的列表要一一对应
5. 递归    自己调用自己.    def func():        func()    func()    难点:不好想.需要找规律. 不好读例
# import sys# sys.setrecursionlimit(10000)    # 可以调整递归深度. 但是不一定能跑到这里# def func(count):#     print("我是谁,我在哪里"+str(count))#     func(count+1)# func(1)

# while 1:#     a = 10#     print("哈哈")

# 遍历树形结构# 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]# n = 567# left = 0# right = len(lst) - 1# count = 1# while left <= right:#     middle = (left + right) // 2#     if n > lst[middle]:#         left = middle + 1#     elif n < lst[middle]:#         right = middle - 1#     else:#         print(count)#         print("存在")#         print(middle)#         break#     count = count + 1# else:#     print("不存在")

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

# def binary_search(lst, n):#     left = 0#     right = len(lst) - 1#     middle = (left + right) // 2#     if right <= 0:#         print("没找到")#         return#     if n > lst[middle]:#         lst = lst[middle+1:]#     elif n < lst[middle]:#         lst = lst[:middle]#     else:#         print("找到了")#         return#     binary_search(lst, n)# binary_search(lst, 65)

lambda,sorted(),filter(),map(),递归,二分法的更多相关文章

  1. Day14--Python--函数二,lambda,sorted,filter,map,递归,二分法

    今日主要内容:1. lambda 匿名函数 lambda 参数: 返回值-------------------------------------def square(x): return x**2 ...

  2. python之内置函数(lambda,sorted,filter,map),递归,二分法

    一.lambda匿名函数 为了解决一些简单需求而设计的一句话函数,lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数. 语法: 函数名 = lambda 参数 : 返回值 ...

  3. 内置函数 lambda sorted filter map 递归

    一 lambda 匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算 n 的 n次方 def func(n): return n**n print(func(10)) f = lambda ...

  4. Python【day 14-4】sorted filter map+递归文件夹+二分法查找

    def func(x): #普通函数 return x*x ret1 = func(10) #匿名函数 f = lambda x:x*x # 匿名函数写法: 匿名函数名=lambda 参数:返回值 ' ...

  5. Python_Mix*匿名函数,sorted,filter,map,递归函数,二分法查找

    lambda匿名函数(函数名统一都叫lambda) 为了解决简单的需求而设计的一句话函数 语法: lambda 参数 返回值 n = lambda a,b: max(a,b) ret = n(9,4) ...

  6. 小学生都能学会的python(<lamda匿名函数,sorted(),filter(),map(),递归函数>)

    小学生都能学会的python(<<lamda匿名函数,sorted(),filter(),map(),递归函数,二分法>> 1. lambda 匿名函数 lambda 参数: ...

  7. lambda匿名函数,sorted(),filter(),map(),递归函数

    1.lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 #计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n* ...

  8. 匿名函数 sorted() filter() map() 递归函数

    一. lambda() 匿名函数   说白了,从字面理解匿名函数就是看不见的函数,那么他的看不见表现在哪里呢? 其实就是在查询的时候他们的类型都是lambda的类型所以叫匿名,只要是用匿名函数写的大家 ...

  9. sorted() ,filter() ,map()的用法

    sorted() 排序函数. 语法: sorted(Iterable, key=None, reverse=False) Iterable: 可迭代对象 key: 排序规则(排序函数), 在sorte ...

随机推荐

  1. CAN中如何计算波特率并配置波特率

    //设置波特率 CAN_InitStructure.CAN_SJW=tsjw; //同步宽度 CAN_InitStructure.CAN_BS1=tbs1; //时间段1 CAN_InitStruct ...

  2. CF1096. G. Lucky Tickets(快速幂NTT)

    All bus tickets in Berland have their numbers. A number consists of n digits (n is even). Only k dec ...

  3. MySQL主从数据库配置

    使用工具 MySQL数据版本:5.6.36-log. 两台云服务器(Linux系统) 首先,需要在Linux系统下安装MySQL,具体步骤可以参考这里,并且确保两台主机可以相互访问,可以直接ping一 ...

  4. POJ 3253 Fence Repair STL 优先队列

    这题做完后觉得很水,主要的想法就是逆过程思考,原题是截断,可以想成是拼装,一共有n根木棍,最后要拼成一根完整的,每两根小的拼成一根大的,拼成后的木棍长度就是费用,要求费用最少.显然的是一共会拼接n-1 ...

  5. 1050. 螺旋矩阵(25) pat乙级题

    本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m- ...

  6. hibernate连接oracle12c数据库报:java.sql.SQLException: ORA-01017: 用户名/口令无效; 登录被拒绝。(用户名/口令在oracle客户端以及cmd命令都能登入)

    报错信息: 2017-09-22 15:40:07,354 WARN [org.hibernate.cfg.SettingsFactory] - Could not obtain connection ...

  7. JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器

    文章来源:http://www.cnblogs.com/xdp-gacl/p/3729033.html 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思 静态web资源(如html ...

  8. yocto和bitbake

    一.yocto 1.yocto简介 Yocto 是一个开源社区通过它提供模版.工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 ...

  9. web 分享代码片段

    <div class="bshare-custom icon-medium-plus"><a title="分享到QQ空间" class=&q ...

  10. JS 网页键盘钩子

    使用write技术把脚本和代码写入文件,即使查看原文及也无法看到原代码,下面是具体的代码,直接保存就可以运行============================================== ...