1. lambda()匿名函数
a = lambda x: x*x
print a(2)
#输出结果为:
#4
``
关键字 lambda 表示匿名函数,冒号前面的 x 表示函数参数
匿名函数有个限制,只能有一个表达式,不用写 return,返回值就是该表达式的结果。
也可以把匿名函数赋值给一个返回值:
def fun(x,y):
return lambda:x*y
使用lambda()函数可以简化代码,如果使用def定义函数,每次调用的时候还需要回头找到该函数,如果这个函数程序运行中仅用到一两次,使用lambda()代替的话可以大大简化程序。
**2. filter()函数**
以下是Python中对filter()函数的介绍:
filter(...)
filter(function or None, sequence) -> list, tuple, or string
Return those items of sequence for which function(item) is true. If
function is None, return the items that are true. If sequence is a tuple
or string, return the same type, else return a list.
filter()函数的参数为一个函数和一个序列,把传入的函数依次作用于每个元素,然后根据返回值是True还是False判断是保留还是丢弃该元素。filter()函数返回的是一个迭代器Iterator。举个例子:
删掉一个 list 中的偶数,只保留奇数,可以写为:
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
#输出结果为:
#>>>[1,3,5,9]
利用 lambda 表达式,也可以写成:
list(filter(lambda x:n%2==1, [1, 2, 4, 5, 6, 9, 10, 15])))
#>>>1
**3. map()函数**
map(函数名, Iterable),map()函数将传入的函数依次作用到序列的每个元素,并把结果作为新的iterator返回。
例:有一个函数f(x)=x2f(x)=x2,要把该函数作用在一个list=[1,2,3,4,5,6,7,8]上,可用map()函数实现如下:
def fun(x):
return x*x
list(map(fun,[1,2,3,4,5,6,7,8]))
#输出结果为:
#>>>[1, 4, 9, 16, 25, 36, 49, 64]
使用lambda()函数实现如下:
list(map(lambda x: x*x,[1,2,3,4,5,6,7,8]))
#>>>1
利用map()函数将[‘lily’,’JACK’,’mAriN’]这三个名字规范化输出,即除了首字母大写,其他均小写。
def normalize(name):
return name[0].upper+name[1:].lower
Name = [‘lily’,‘JACK’,‘mAriN’]
print (list(map(normalize,Name)))
#输出结果为:
#>>>[‘Lily’,‘Jack’,‘Marin’]
---------------------
作者:Easy_ray
来源:CSDN
原文:https://blog.csdn.net/c369624808/article/details/78988930?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c369624808/article/details/78988930