map函数                            

语法

  map(function, iterable, ...)

参数

  • function -- 函数,有两个参数
  • iterable -- 一个或多个序列

返回值

  Python 2.x 返回列表。

  Python 3.x 返回迭代器。

 def square(x) :            # 计算平方
return x ** 2 map(square, [1,2,3,4,5]) # 计算列表各个元素的平方 # 使用lambda表达式
map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数 map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

  lambda                            

使用lambda表达式实现三目运算符

 # 要实现的效果
if 0 == 0:
name = "timo"
else:
name = "nana" # lambda实现 如果if条件成立,name等于if前面的值,否则等于后面的
name = "timo" if 0 == 0 "nana"

使用lambda表达式实现简单的函数

 # 要实现的效果
def func(arg):
return arg + 1 # 执行
func(123) # 使用lambda表达式实现 lambda后面紧跟着的是函数的参数,冒号后面跟着的是返回值
lambda_func = lambda arg: arg + 1 # 执行
lambda_func(123)

  快捷生成想要的列表                        

生成一个步长为5的列表

 arr = [x*5 for x in range(5)]
# 得到结果
arr = [0, 5, 10, 15, 20]

结合lambda表达式生成列表

 # 第一种情况
f0, f1, f2 = [lambda m: m*i for i in range(3)] f0(1) == f1(1) == f2(1) == 2 # 第二种情况 f = [lambda m: m*i for i in range(3)] for l in f:
l(1), # 结果 2 2 2 # 第三种情况 f = (lambda m: m*i for i in range(3)) for l in f:
l(1), # 结果 0 1 2 # 第四种情况 f0, f1, f2 = (lambda m: m*i for i in range(3)) f0(1) == f1(1) == f2(1) == 2

关于上面四种情况出现不同结果的原因

第三种情况不是元组,而是返回一个生成器,在调用 l(1)  的时候,是在生成器执行过程之中,所以函数 l  中的 i 变量随着生成器的迭代在变化,所以最终结果会有变化。
而第四种情况一下把生成器迭代完了,和第一第二种类似,都是所有代码都执行完了,i 都处于最后一个值 2, 所以值没有变化.

  filter内置函数                            

描述

  filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

  该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法

    filter(function, iterable)

参数

  • function -- 判断函数。
  • iterable -- 可迭代对象。

返回值

  返回列表。

实例

 def fun(s):
if s != 'a':
return s
str = ['a', 'b', 'c']
res = filter(fun, str1) #过滤到字符a print(res) #返回一个可迭代对象

map内置函数、lambda表达式、快捷生成想要的列表、filter内置函数的更多相关文章

  1. 函数:lambda表达式 - 零基础入门学习Python021

    函数:lambda表达式 让编程改变世界 Change the world by program lambda表达式 Python允许使用lambda关键字来创建匿名函数.我们提到一个新的关键字:匿名 ...

  2. (28)C#委托,匿名函数,lambda表达式,事件

    一.委托 委托是一种用于封装命名和匿名方法的引用类型. 把方法当参数,传给另一个方法(这么说好理解,但实际上方法不能当参数,传入的是委托类型),委托是一种引用类型,委托里包含很多方法的引用 创建的方法 ...

  3. 【Unity|C#】基础篇(9)——匿名函数 / Lambda表达式

    [学习资料] <C#图解教程>(第13章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  4. python内置函数,lambda表达式,文件读写

    Lambda表达式: lambda是个匿名函数,自动加return返回 a={ 6:2,8:0, 1:4,-5:6,99:11,4:22} print(sorted(a.items()))#按key排 ...

  5. Python匿名函数——lambda表达式

    如果要定义的函数很简单,一个return语句就能搞定,可以使用lambda表达式来定义, lambda表达式的语法如下: lambda parameters: expression lambda表达式 ...

  6. 匿名函数 lambda表达式(lambda expression)

    阅读g2log时,发现有两行代码居然看不懂. 1. auto bg_call =  [this, log_directory]() {return pimpl_->backgroundChang ...

  7. Qt中使用匿名函数lambda表达式

    一.为什么要使用匿名函数lamdba 首先,lambda表达式可以使代码变得简单,C++中,一个lambda表达式表示一个可调用的代码单元.如代码: #include <QCoreApplica ...

  8. python函数,lambda表达式,三目运算,列表解析,递归

    一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...

  9. 函数, lambda表达式

    函数 函数:简单的理解,就是一次执行很多行代码 函数的返回值 函数的参数,和变量没区别 例: def hello(): print "hello world" hello() he ...

随机推荐

  1. 源码解析Flask的配置文件

    在flask里,我们常在主文件中定义某些配置,比如: app.debug = True app.secret_key = 'helloworld!!' 实际上,flask中默认可以进行可选的配置项有很 ...

  2. Mego(08) - 高级建模

    对于模型建立Mego还提供了一些高级主题 数据库函数映射 我们可以将现有的CLR方法映射到指定数据库的标题函数上,如下所示 public class OrderManageEntities : DbC ...

  3. Django REST framework+Vue 打造生鲜超市(二)

    三.Models设计 3.1.项目初始化 (1)进虚拟环境下安装 django2.0.2 djangorestframework和相关依赖mark,filter pillow  图片处理 pip in ...

  4. 关于PHP7

    目前一直使用php7也看了许多文档视频等,整理一下相关细节(仅为记录-),对于PHP7性能,如下图所示. * 在wordpress3.0.1中 php7比php5.6性能提升约3倍左右 新特性 一.变 ...

  5. 新概念英语(1-5)Nice to meet you.

    Is Chang-woo Chinese? Blake:Good morning. B:Good morning, Mr Blake. Blake:This is Miss Sophie Dupont ...

  6. virtualbox中linux系统与windows实现共享文件夹

    最近有一次,需要在linux获取在我windows系统里的安装包,但是呢不论如何也拿不过去. virtualbox虽然提供了双向拖放,但是实在是太不健壮了,感觉基本就没好使过. 于是我想到了用共享文件 ...

  7. python基础——面向过程的编程思想及举例

    面向过程的编程思想 1.面向过程的编程思想及举例 写程序时: 要先想功能,分步实现 2. os模块中walk输出目录中文件路径 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上 ...

  8. python基础——面向对象进阶

    python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...

  9. phpstorm 快捷键高效助手扩展 常用快捷键收集整理 2018-04-12 16:42:10

    声明: 本文属于原创,未经博主许可,禁止任何形式转载! phpstorm 快捷键整理收集 以及高效复用代码快捷键扩展 常规快捷键大全请结合参考2篇博客: https://blog.csdn.net/y ...

  10. spark分区数,task数目,core数,worker节点个数,excutor数量梳理

    作者:王燚光链接:https://www.zhihu.com/question/33270495/answer/93424104来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...