21.lambda表达式+重要的bif(filter、map)

===小甲鱼===2017-09-24

1.长字符串

a.一个字符串中有多个反斜杠,使用原始字符串,在字符串前加r即可:

str=r‘C:\now‘

b.希望得到一个跨越多行的的字符串,使用三重引号字符串“”“ ”“”

2.lambda表达式

python写一些执行脚本时候,使用lambda就可以省下定义函数的过程;简化代码的可读性。

例子:

普通定义函数方式:

>>> def ds(x):
return 2*x +1

>>> ds(5)
11

改用lambda表达式简化:
>>> lambda x : 2*x+1
<function <lambda> at 0x0293AAF0>
>>> g = lambda x:2*x+1
>>> g(5)
11
>>> lambda x,y : x+y
<function <lambda> at 0x0293AAF0>

3.重要的bif(内置函数)

1)filter--过滤器

>>> filter(None,[1,3,False,True])
[1, 3, True]

是把任何非True的内容过滤掉

筛选出奇数:
>>> def odd(x):
return x % 2

>>> temp = range(10)
>>> show=filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]

用lambda表达式的方法:
>>> list(filter(lambda x : x % 2,range(10)))
[1, 3, 5, 7, 9]

2)map()--将序列中的每个元素作为函数参数进行加工,直到可迭代序列的每个元素都加工完毕,返回所有加工后的元素构成的新序列

>>> list(map(lambda x : x*2,range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

时间: 2024-11-05 13:44:39

21.lambda表达式+重要的bif(filter、map)的相关文章

三元运算式、lambda表达式、内置函数map、reduce、filter以及yield生成器

一.三元运算(式) 对于一般简单的if else条件判断句可以用三元运算来表示 具体模式为: if condition:   expr1 else:   expr2 等价于: expr1 if condition else expr2 解释:如果if condition条件成立就执行expr1表达式,否则就执行else expr2表达式 示例① >>> if 2 == 2: ...    name = 'cool' ... else: ...    name ='hot' ...  &g

python第l六天,lambda表达式学习,涉及filter及Map。

在python中lambda表达式可以作为匿名函数来使用,举一个简单的栗子: 以前我们写两个数相加的函数需要 #以前我们写两个数相加的函数,需要这样写 >>> def sum(x,y): return x+y >>> sum(1,2) 3 >>> #而学了lambda之后我们再写这个函数可以这么写 >>> x=lambda x,y:x+y >>> x(1,2) 3 >>> python对我们以后的编

java lambda表达式学习笔记

lambda是函数式编程(FP,functional program),在java8中引入,而C#很早之前就有了.在java中lambda表达式是'->',在C#中是‘=>’. 杜甫说:射人先射马,擒贼先擒王.学习一个库要学习它的入口类.lambda的入口类是Stream,一看Stream中的函数就会发现Function,Predicate等lambda元素. 一.几个概念     函数式接口 Functional Interface,除了static和default类型的方法外,只有一个函数

【转】Java 8十个lambda表达式案例

1. 实现Runnable线程案例 使用() -> {} 替代匿名类: //Before Java 8: new Thread(new Runnable() { @Override public void run() { System.out.println("Before Java8 "); } }).start(); //Java 8 way: new Thread( () -> System.out.println("In Java8!") ).s

java/c++中有关lambda表达式的书写及stream流的操作的基本总节

package com.acm; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Prior

python高阶函数,map,filter,reduce,ord,以及lambda表达式

为什么我突然扯出这么几个函数,是因为我今天在看流畅的python这本书的时候,里面有一部分内容看的有点懵逼. >>> symbols = '$¢£¥€¤' >>> beyond_ascii = [ord(s) for s in symbols if ord(s) > 127] >>> beyond_ascii [162, 163, 165, 8364, 164] >>> beyond_ascii = list(filter(la

python之lambda,filter,map,reduce函数

g = lambda x:x+1 看一下执行的结果: g(1) >>>2 g(2) >>>3 当然,你也可以这样使用: lambda x:x+1(1) >>>2 可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为: def g(x): return x+1 非常容易理解,在这里lambda简化了函数定义的书写形式.是代码更为简洁,但是使用函数的定义方式更为直观,易理解. Python中,

Python3基础 filter与lambda表达式配合 筛选出1-100之间的奇数

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ex1: code: #建立lambda表达式 PanDuanJiShu=lambda x : x%2==1 #产生1到100的序列 aGroupNum=range(1,101,1) #过滤出来奇数 res=filter(PanDuanJiShu,aGroupNum) #转换成列表 resL

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur