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

时间:2021-11-17 19:26:21

===小甲鱼===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]