回顾

  for i in dict  #对字典进行遍历,拿到的是字典的key

 今日主要内容
1. lambda 匿名函数
  语法:
    lambda 参数:返回值
    不能完成复杂的操作、只能写一行

   注意:

      1 函数的参数可以是多个,返回值的计算方法只能是一个(可以包含多个参数的计算)

      2. 匿名函数并不是没有名字,而是通过__name__查看的时候没有名字,所有统一都叫       lambda

      3.参数就是函数的参数,接收变量使用的

2. sorted() 函数      排序

  sorted(iterable, key =None ,reverse=false)

  sorted(可迭代对象,key = None,reverse= False)

lst = [1,3,23,6,4,34,23,12,9]
lst.sort() #sort是list里面的一个方法
print(lst)
sorted(lst) #内置函数,返回给你一个新列表,新列表是被排序的。 (与dic.frokeys())效果一样,  
print(lst)

  排序.

    1. 可迭代对象
    2. key=函数. 排序规则
    3. reverse. 是否倒序

  原理:在sorted内部会将可迭代对象中的每一个元素传递给这个函数key的参数,根据函数的运算结果进行排序。 例如:可以进行列表中字符串的长度排序

dic = {1:'a',23:'s',2:'g'}
print(sorted(dic)) #如果排序是字典,则返回排序过来后的key。结果是一个列表

3. filter() 函数      过滤

  filter(function,iterable)   处理完后是一个迭代器

  原理:把可迭代对象中的每一个元素传递给function,然后根据function返回的True或者False来判断是否保留此数据

    1. 函数, 返回True或False
    2. 可迭代对象

4. map()  映射函数

  map(function,iterable)   处理完是一个迭代器

  原理:可以对迭代器对象中的每一个元素进行映射,然后分别执行function
    1. 函数
    2. 可迭代对象

计算两个列表中相同位置的数据之和
lst1 = [1,3,2,5,4]
lst2 = [6,3,2,5]
print(list(map(lambda x,y:x+y,lst1,lst2))) print(list(map(lambda x: x * x, [1, 2, 3, 4, 5])))

5. 递归
    自己调用自己.
      def func():
        func()
      func()

    用途: 遍历树形结构。比如 我们的文件操作系统
    难点:不好想.需要找规律. 不好读

遍历树形结构
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. 二分法
  掐头结尾取中间. 不停的改变左和右. 间接改变中间.

  查询效率非常高、但局限性比较大,必须是有序序列才可以使用二分查找

sorted 返回的是列表,可以直接打印

fiflter 、map  返回的可迭代对象,必须用list()接这个可迭代对象

day 15 内置函数二 递归 lamda sorted filter map 二分法求值的更多相关文章

  1. day13 内置函数二 递归,匿名函数,二分法

    .匿名函数(名字统一叫lambda) .语法 lambda 参数:返回值 .参数可以有多个,用逗号隔开 .只能写一行,执行结束后直接返回值 4返回值和正常函数一样,可以是任意值 .列: f=lambd ...

  2. python---day14( 内置函数二)

    内置函数二一:匿名函数 lambda函数 lambda 表示匿名函数,不需要用def 来申明. 语法: 函数名=lambda 参数:返回值 ----〉 案例:f=lambda n:n*n 例子01: ...

  3. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  4. python函数知识六 内置函数二、匿名函数与内置函数三(重要)

    19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...

  5. python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点

    1,lambda:  匿名函数 2.sorgted()  排序函数 3,filter()   过滤函数 筛选 4,map()  映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...

  6. Python【第四篇】函数、内置函数、递归、装饰器、生成器和迭代器

    一.函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 1.定义 def 函数名(参数): ...

  7. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  8. Python入门-内置函数二

    看到标题你也能猜到今天要说大概内容是什么了,没错,昨天没有说完的部分再给大家说说(有一些重合的部分),内置函数的内容比较多,并且工作中经常用到的却不太多,很多都是不太常用的,所以我就着重说一些比较常用 ...

  9. 巨蟒python全栈开发-第14天 内置函数2 递归 二分查找

    一.今日内容总览 1.内置函数补充 repr() 显示出字符串的官方表示形式 chr() arscii码中的字,转换成位置 ord() arscii码中的位置,转换成字2.递归 自己调用自己 两个口: ...

随机推荐

  1. 数据库优化 - SQL优化

    前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优.但是一些"不好"的SQL也会导致数据库查询变慢,影响业务流程.本文从SQL角度进行数据库优化,提升SQ ...

  2. OptimalSolution(5)--数组和矩阵问题(2)2

    一.找到无序数组中最小的k个数 二.在数组中找到出现次数大于N/K的数 三.最长的可整合子数组的长度 四.不重复打印排序数组中相加和为给定值的所有二元组和三元组 五.未排序正数数组中累加和为给定值的最 ...

  3. Java基础(二十)集合(2)Collection接口

    1.Collection接口通常不被直接使用.但是Collection接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作,因为List接口和Set接口都实现了Collection接口,所以 ...

  4. django-表单之数据保存(七)

    models.py class Student(models.Model): #字段映射,数据库中是male,female,后台显示的是男,女 choices={ ('male',"男&qu ...

  5. json基本内容

    json的基本信息和历史 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来 ...

  6. SpringBoot整合MybatisPlus3.X之分页插件(四)

    注:详细请看2.X博客中,3.X直接上代码. 建议装一个MybatisX插件,可以在Mapper和Xml来回切换 pom.xml <dependencies> <dependency ...

  7. char 、signed char、unsigned char

    看如下代码: char c = -1; signed char sc = -1; unsigned char uc = -1; printf("c=%d, sc=%d, uc=%d, cx= ...

  8. 讲一讲快速学习WPF的思路

    我不想浪费大家的时间,直接奔主题了. 首先大家要明白,WPF跟Winform的区别,优点,缺点. 首先入门来讲 Winform简单点,WPF会难一点.所以第一次接触C# 我推荐用Winform项目去学 ...

  9. 前端技术之:webpack热模块替换(HMR)

    第一步:安装HMR中间件: npm install --save-dev webpack-hot-middleware   第二步:webpack配置中引入webpack对象     const we ...

  10. C# 倒计时,显示天,时,分,秒。时间可以是从数据库捞出来

    从数据库把时间读出来,接着 你用个timer控件启用控件,设置1000毫秒timer时间里 用当前时间-你取出的时间 就可以了 DateTime furtime = Convert.ToDateTim ...