ToB企服应用市场:ToB评测及商务社交产业平台

标题: Python中四大高阶函数,你认识几个 [打印本页]

作者: 小小小幸运    时间: 2023-12-30 09:23
标题: Python中四大高阶函数,你认识几个
1.匿名函数
  1. def name(a,b):
  2.     return a+b
  3. f=lambda a,b:a+b
  4. print(f(15,15))
复制代码
2.map函数

第一个参数接收一个函数名,第二个参数接收一个可迭代对象,利用map,lambda表达式将所有偶数元素加100
  1. def fun(a,b):
  2.     return a+b
  3. ret=map(fun,[1,2,3],[4,5,6])
  4. print(list(ret))
复制代码
3.sorted函数
  1. """sorted排序(由负及正)"""
  2. list=[1,2,3,4,0,-1,-2,-3]
  3. print(sorted(list,key=lambda x:x))
  4. """sorted排序(绝对值)"""
  5. list=[1,2,3,4,0,-1,-2,-3]
  6. print(sorted(list,key=abs))
复制代码
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。        list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
  1. sorted(iterable[, cmp[, key[, reverse]]])
复制代码
参数说明:
4.reduce函数
  1. """reduce()函数(最好用来求总和总乘)"""
  2. from functools import reduce
  3. def fun(a,b):
  4.     return a+b
  5. ret=reduce(fun,[x for x in range(1,101)])
  6. print(ret)#1到100的总和为5050
  7. ret=reduce(fun,[x for x in range(1,101)ifx%2==0])
  8. print(ret)#1到100的偶数总和为2550
  9. ret=reduce(fun,[x for x in range(1,101)ifx%2==1])
  10. print(ret)#1到100的奇数总和为2500
复制代码
5.filter函数
  1. """filter()函数(能够去出符合条件的元素)"""
  2. #学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
  3. def fun(a):
  4.     return a%2==0
  5. ret=filter(fun,range(1,101))
  6. for x in ret:
  7.     print(x)
复制代码
filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。
最终一次性返回过滤后的结果。
filter()函数有两个参数:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4