day 15 内置函数二 递归 lamda sorted filter map 二分法求值
回顾
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 二分法求值的更多相关文章
- day13 内置函数二 递归,匿名函数,二分法
.匿名函数(名字统一叫lambda) .语法 lambda 参数:返回值 .参数可以有多个,用逗号隔开 .只能写一行,执行结束后直接返回值 4返回值和正常函数一样,可以是任意值 .列: f=lambd ...
- python---day14( 内置函数二)
内置函数二一:匿名函数 lambda函数 lambda 表示匿名函数,不需要用def 来申明. 语法: 函数名=lambda 参数:返回值 ----〉 案例:f=lambda n:n*n 例子01: ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- python函数知识六 内置函数二、匿名函数与内置函数三(重要)
19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...
- python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点
1,lambda: 匿名函数 2.sorgted() 排序函数 3,filter() 过滤函数 筛选 4,map() 映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...
- Python【第四篇】函数、内置函数、递归、装饰器、生成器和迭代器
一.函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 1.定义 def 函数名(参数): ...
- Python基础(协程函数、内置函数、递归、模块和包)-day05
写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04 ...
- Python入门-内置函数二
看到标题你也能猜到今天要说大概内容是什么了,没错,昨天没有说完的部分再给大家说说(有一些重合的部分),内置函数的内容比较多,并且工作中经常用到的却不太多,很多都是不太常用的,所以我就着重说一些比较常用 ...
- 巨蟒python全栈开发-第14天 内置函数2 递归 二分查找
一.今日内容总览 1.内置函数补充 repr() 显示出字符串的官方表示形式 chr() arscii码中的字,转换成位置 ord() arscii码中的位置,转换成字2.递归 自己调用自己 两个口: ...
随机推荐
- JdbcTemplate实现增删改查操作
JdbcTemplate介绍 为了使 JDBC 更加易于使用,Spring 在 JDBCAPI 上定义了一个抽象层, 以此建立一个JDBC存取框架,Spring Boot Spring Data-JP ...
- Linux下安装db2V9.7
vi /etc/hosts(127.0.0.1 localhost192.168.1.53 linux-wmv8) vi /etc/services db2inst1 50000/tcp(加在最后) ...
- BOOL,int,float,指针变量 与“零值”比较的if语句
分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var) 解答: BOOL型变量:if(!var) int型变量: if(var==0) float型变量: ...
- 2018.8.15 python 中的sorted()、filter()、map()函数
主要内容: 1.lambda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 一. lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 ...
- ios下app内嵌h5页面是video适配问题
ios下做新闻详情用h5页面实现然后打包到app中,其中新闻详情页会有视频,安卓下video的poster可以做到适应video大小,但是ios下会按照poster图片大小将video等比撑大,但是视 ...
- ASP_MVC项目设计技巧规则
对于上述这种类型的前台页面,属于典型的List型的页面,那么,对于model的设计,要考虑前台人员的负担,尽量简洁: model: Name : 对应产品名称,如FMOS_WPF.FMOS_Tun.. ...
- 《STL源码剖析》——List
List list位于头文件<<stl_list.h>>中 list是sequence containers中的一种 1 List的基本架构 list的基本结构的UML关系图如 ...
- PostgreSQL的模式、表、空间、用户间的关系
在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用. 接下来,先介绍一下模式和表空间的 ...
- 在VMware CentOS7挂载系统光盘搭建本地仓库
1.软件准备: 安装VMware环境,在这里我使用的是VMware15 一个虚拟机系统,在这里我使用的是CentOS7(版本不同可能会有一点出入,但是应该相差不大) 在这里还有一个前提是已经建立好了y ...
- 在VMware环境下安装Windows2008
1.软硬件安装 软件:推荐使用VMware,这里我使用的是VMware15 镜像:Windows 2008 如果没有镜像可以到这里 链接:https://pan.baidu.com/s/1r_7K-U ...