匿名函数、sorted()、filter()、map()、递归
一、匿名函数
1.lambda 匿名函数
方法 lambda 参数:返回值 (函数名统一叫lambda)
def func(n):
return n**2
print(func(3))
#这是一个普通的函数,返回值是3
a = lambda n : n**2
print(a(3))
#这是匿名函数,返回值也是3
匿名函数的参数可以两个或多个,返回值也可以是两个或多个。(当返回值是两个以上的时候要用括号括起来),在参数位置如果传人多个参数可以使用*args。
二、sorted() 排序函数
语法:sorted(iterable,key,reverse) key:排序规则 reverse参数不给就是升序,给True就是降序。
运行流程:把可迭代对象中的每一个元素交给后面的key函数来执行。得到一个数字(权重),通过这个数字进行排序。
如是字典,返回排序后的key
dic = {1:"A",3:"C",2:"B"}
print(sorted(dic))
#[1, 2, 3]
lst = ["布加迪威航","法拉利","奥迪A8","11路公交车"]
def func(s):
return len(s)
print(sorted(lst,key=func))
#['法拉利', '奥迪A8', '布加迪威航', '11路公交车']
print(sorted(lst,key=lambda s : len(s)))
#['法拉利', '奥迪A8', '布加迪威航', '11路公交车']
三、filter() 过滤函数
语法:filter(function,iterable)
把可迭代对象中的每一个元素交给前面的函数进行筛选,函数返回Ture或者False
四、map() 映射函数
语法:map(function,iterable)
把可迭代对象中的数据交给前面的函数进行执行,返回值就是map()的处理结果
(这里的映射也具有水桶效应)
五、递归
本质:函数自己调用自己
最大深度:1000,但是不到1000就会停下来
通过递归思想去实现打开本地的某个文件夹里面的所有文件名称
import os#引入os模块
def func(filepath,n):
flies = os.listdir(filepath)#打开你输入的文件夹
for file in flies:#循环当前文件夹里面的内容
file_path = os.path.join(filepath,file)#给文件名称加上路径
if os.path.isdir(file_path):#如果某个文件是文件夹,就打印名字并且再次调用函数
print("\t"*n,file,":")
func(file_path,n+1)
else:
print("\t"*n,file)
func("e:/python视频",0)#第二个参数主要是用来显示层次用的
匿名函数、sorted()、filter()、map()、递归的更多相关文章
- 小学生都能学会的python(<lamda匿名函数,sorted(),filter(),map(),递归函数>)
小学生都能学会的python(<<lamda匿名函数,sorted(),filter(),map(),递归函数,二分法>> 1. lambda 匿名函数 lambda 参数: ...
- Python_Mix*匿名函数,sorted,filter,map,递归函数,二分法查找
lambda匿名函数(函数名统一都叫lambda) 为了解决简单的需求而设计的一句话函数 语法: lambda 参数 返回值 n = lambda a,b: max(a,b) ret = n(9,4) ...
- lambda匿名函数,sorted(),filter(),map(),递归函数
1.lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 #计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n* ...
- 匿名函数 sorted() filter() map() 递归函数
一. lambda() 匿名函数 说白了,从字面理解匿名函数就是看不见的函数,那么他的看不见表现在哪里呢? 其实就是在查询的时候他们的类型都是lambda的类型所以叫匿名,只要是用匿名函数写的大家 ...
- python之内置函数(lambda,sorted,filter,map),递归,二分法
一.lambda匿名函数 为了解决一些简单需求而设计的一句话函数,lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数. 语法: 函数名 = lambda 参数 : 返回值 ...
- 内置函数 lambda sorted filter map 递归
一 lambda 匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算 n 的 n次方 def func(n): return n**n print(func(10)) f = lambda ...
- Day14--Python--函数二,lambda,sorted,filter,map,递归,二分法
今日主要内容:1. lambda 匿名函数 lambda 参数: 返回值-------------------------------------def square(x): return x**2 ...
- lambda,sorted(),filter(),map(),递归,二分法
1. lambda 匿名函数 语法: lambda 参数:返回值 不能完成复杂的操作例 # li=['21','asdd','weqeqw','wqf']# # it=iter(li)# # prin ...
- Python【day 14-4】sorted filter map+递归文件夹+二分法查找
def func(x): #普通函数 return x*x ret1 = func(10) #匿名函数 f = lambda x:x*x # 匿名函数写法: 匿名函数名=lambda 参数:返回值 ' ...
- Python之匿名函数(filter,map,reduce)
参考博客:Python匿名函数详解--http://blog.csdn.net/csdnstudent/article/details/40112803 Python内建函数之——filter,map ...
随机推荐
- Django:ORM中ForeignKey外键关系分析
假设有两张表,Role和User,因为多个用户会对应一个角色,属于多对一关系,所以User中的rolename字段使用ForeignKey,第一个参数为要关联的表Role,第二个参数related_n ...
- VSCode 代码格式化快捷键
转载自:http://geek-docs.com/vscode/vscode-tutorials/vscode-code-formatting.html VSCode 代码格式化快捷键,我们平常在做自 ...
- 客户端连接Codis集群
新建maven webapp项目 添加相关依赖: <dependency> <groupId>redis.clients</groupId> <artifac ...
- 2019暑期北航培训—预培训作业-IDE的安装与初步使用(Visual Studio版)
这个作业属于那个课程 2019北航软件工程暑期师资培训 这个作业要求在哪里 预培训-IDE的安装与初步使用(Visual Studio版) 我在这个课程的目标是 提高自身实际项目实践能力,掌握帮助学生 ...
- 【作业】Kitchen Plates(拓扑排序)
题目链接:https://vjudge.net/contest/345791#problem/O [问题描述] You are given 5 different sizes of kitchen p ...
- .NET开发的一些积累
ASP.NET项目开发一些琐碎的积累 1.过滤危险的字符串,诸如“=”.“>”等可能会诸如数据库的危险字符串,我看过很多人做的网页仅仅进行客户端脚本验证是不够的.必须在服务器段的后台代码里面也进 ...
- Deepin 15.11 install nvidia dirver[mei you an zhuang shu ru fa]
1.firstly, exec: sudo vim /etc/modprobe.d/blacklist-nouveau.conf[create], and input [blacklist nouve ...
- 在linux上cuda9.0 cudnn7.* 安装python3.6 tensorflow 1.5.1
链接:https://www.jianshu.com/p/bcf37d0e4e9b 为了入门机器学习的小伙伴能安装好工具,特制作此教程 按照 Anaconda 下载网站上的说明下载并安装 Anacon ...
- LeetCode 53. 最大子序和(Maximum Subarray)
53. 最大子序和 53. Maximum Subarray 题目描述 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. LeetCode53. M ...
- 014 Android 自定义组合控件
1.需求介绍 将已经编写好的布局文件,抽取到一个类中去做管理,下次还需要使用类似布局时,直接使用该组合控件的对象. 优点:可复用. 例如要重复利用以下布局: <RelativeLayout an ...