Python高阶函数 - 邱乘屹的个人技术博客

lambda匿名函数

  1. lambda只是一个表达式,函数体比def简单很多。
  2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  3. lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
  4. 格式:lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,之后是一个表达式。
sum = lambda a,b : a+b
print(sum(1,2))

filter()函数 可以对序列做过滤处理

利用 filter、lambda表达式 获取list1中元素小于33的所有元素 list1 = [11, 22, 33, 44, 55]

list1= [11,22,33,44,55]
a = filter(lambda x: x<33, list1)
print(list(a))

Map()函数 对序列根据设定条件进行操作后返回他设置的操作方法

利用map,lambda表达式将所有偶数元素加100

list1= [11,22,33,44,55]
ret = map(lambda x:x if x % 2 != 0 else x + 100,list1)
print(list(ret))

reduce() 化简函数

  1. reduce()函数即为化简函数,它的执行过程为:每一次迭代,都将上一次的迭代结果与下一个元素一同传入二元func函数中去执行。
  2. 在reduce()函数中,init是可选的,如果指定,则作为第一次迭代的第一个元素使用,如果没有指定,就取seq中的第一个元素。
from functools import reduce
def f(x, y):
 return x + y

print(reduce(f, [1, 3, 5, 7, 9])) 

sorted()函数 对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

a = sorted([5, 2, 3, 1, 4],reverse=True)
print(a)

猜你喜欢

转载自blog.csdn.net/weixin_47074764/article/details/106450363
今日推荐