回顾

  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. Java11新特性 - Epsilon GC和ZGC

    Java11中新增了两个GC,Epsilon GC和ZGC. Epsilon垃圾收集器 A NoOp Garbage Collector 没有操作的垃圾收集器 JDK上对这个特性的描述是:开发一个处理 ...

  2. django-URL认识(一)

    URL由三部分组成:资源类型.存放资源的主机域名.资源文件名.也可认为由4部分组成:协议.主机.端口.路径 URL的一般语法格式为:(带方括号[]的为可选项): protocol :// hostna ...

  3. js重点

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. Connection activation failed Device not managed by NetworkManager

    1)查看NetworkManager服务是否启动 ps aux |grep NetworkManager 使用service NetworkManager start 命令启动该网络管理程序 2) 一 ...

  5. 学习笔记之javascript编写简单计算器

      感觉自己的的实力真的是有待提高,在编写计算器的过程中,出现了各种各样的问题,暴露了自己的基础不扎实,逻辑思维能力不够,学得知识不能运用到自己的demo中区.先介绍一些这个这个计算器的整体思路.大致 ...

  6. My Eclipse 配置

    设置编码格式 点击Windows → preference → WorkSpace 设置编码格式 点击Windows → preference → General →Appearence → Colo ...

  7. nginx篇最初级用法之nginx升级

    在不破坏nginx应用程序和配置文件下时,升级nginx. 下载新版本的nginx对其进行编译 使用nginx -V参数获得当前版本和配置参数 nginx version: nginx/1.10.3b ...

  8. MySQL8.0 redo日志系统优化

    背景 现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复.redo日志是物理日志,一般采用WAL(Write-Ahead-Loggin ...

  9. CSPS模拟 71

    全程傻眼 T1 毛衣衬 meet_in_middle.. 不再使用二分查找,而是直接枚举对面状态,虽然底数爆炸但是指数减半,复杂度是对的. T2 猫儿嗔 逆序关系有支配关系? $DAG$树.. 把逆序 ...

  10. JAVA内存溢出与内存泄露

    虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险. 最近在网上搜集了一些资料,现整理如下: —————————————————————————————————————— ...