当前位置: 首页 > news >正文

福州营销网站建设团队最好的免费信息发布平台

福州营销网站建设团队,最好的免费信息发布平台,服务器托管的平台,青海省公路建设管理局官方网站高阶函数 高阶函数是Python编程中一个非常强大和有用的特性,它们允许程序员编写更简洁、更抽象的代码。 Python中的高阶函数是那些至少满足以下一个条件的函数: 接受一个或多个函数作为输入(也就是说,它的参数之一是函数&#…

在这里插入图片描述

高阶函数

高阶函数是Python编程中一个非常强大和有用的特性,它们允许程序员编写更简洁、更抽象的代码。

Python中的高阶函数是那些至少满足以下一个条件的函数:

  1. 接受一个或多个函数作为输入(也就是说,它的参数之一是函数)。
  2. 输出一个函数。

1. map()

map() 函数接收两个参数,一个是函数,一个是可迭代对象,将传入的函数依次作用到可迭代对象的每个元素,并把结果作为新的迭代对象返回。

# 用法:
map(func,iterable)
# 求平方
def square(x):return x ** 2numbers = [1, 2, 3, 4, 5]
# 将列表中的元素都求平方
squared_numbers = map(square, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]
# 上面的例子用lambda表达式写
print(list(map(lambda n:n**2,numbers)))

map() 函数返回一个迭代器,而不是一个列表。如果需要将结果转换为列表,可以使用 list() 函数。

2. filter()

filter() 函数用于过滤序列,接收一个函数和一个序列作为输入,返回一个迭代器,该迭代器生成那些函数返回值为True的序列元素。返回值为False的丢弃。

# 用法:
filter(func,iterable)
# 是否偶数
def is_even(x):return x % 2 == 0numbers = [1, 2, 3, 4, 5, 6]
# 过滤出序列中的偶数
even_numbers = filter(is_even, numbers)
print(list(even_numbers))  # 输出: [2, 4, 6]
# 上面的例子用lambda表达式写
print(list(filter(lambda n:n % 2 == 0,numbers)))

3. reduce()

reduce() 函数来自于 functools 模块,它接收一个函数和一个序列作为输入,函数必须接受两个参数,reduce() 将会遍历序列中的元素,并累积结果。

# 用法:
reduce(func,iterable)
from functools import reducedef add(x, y):return x + ynumbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(add, numbers)
print(sum_of_numbers)  # 输出: 15
# 上面的例子用lambda表达式写
print(reduce(lambda x, y: x + y, numbers))

4. sorted()

sorted() 函数可以对列表进行排序,它接收一个函数作为参数,可以用来指定排序的依据。

# 用法:
sorted(iterable,key)
pairs = [(3, 'three'), (1, 'one'), (2, 'two'), (-5, 'five'), (4, 'four')]
# 以列表中元组的第二个元素进行排序
pairs_sorted_by_second = sorted(pairs, key=lambda pair: pair[1])
print(pairs_sorted_by_second)  # 输出: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
# 以列表中元组的第二个元素降序进行排序
pairs_sorted_by_second_res = sorted(pairs, key=lambda pair: pair[1], reverse=True)
print(pairs_sorted_by_second_res)  # 输出: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
# 以列表中元组的第1个元素的绝对值进行排序
pairs_sorted_by_first = sorted(pairs, key=lambda pair: abs(pair[0]))
print(pairs_sorted_by_first)  # 输出: [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
# 列表嵌套元组的排序
infor = [("Tom",100,95),("Lilei",90,95),("Jim",90,96),("Green",90,83),("John",100,95),("Lucy",100,95)
]def sord_num1(s):return s[1]def sord_num1_num2(s):return s[1],s[2]
# 以元组的第二个元素排序
print(sorted(infor,key=sord_num1))
# 以元组的第二个、第三个元素排序
print(sorted(infor,key=sord_num1_num2))

5. lambda 表达式

lambda 表达式可以创建匿名函数,常用于高阶函数中。

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]

高阶函数在Python的很多地方都有应用,比如在函数式编程、装饰器、回调函数等高级概念中都非常常见。通过使用高阶函数,可以大大提高代码的灵活性和表达力。

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89774843

如有问题请留言。

http://www.hkea.cn/news/608202/

相关文章:

  • 多种专业网站建设潍坊网站排名提升
  • 网站投稿系统怎么做网站制作流程是什么
  • 交警网站建设整改百度推广怎么推广
  • 重庆网站建设哪里比较好呢网站下载
  • 网站运行速度慢的原因看b站二十四小时直播间
  • 电商网站开发服务全网营销骗局揭秘
  • 个人网站怎么做互联网营销师培训课程免费
  • 微信网站建设价格网站开发报价方案
  • wordpress utc时间慢8小时大连seo关键词排名
  • 中国建设承包商网站创建软件平台该怎么做
  • 中小企业网站建设费用海外推广服务
  • 企业名称的英文做网站名seo是怎么优化推广的
  • 手机在线建站西安seo服务公司
  • 网站开发有前途吗我也要投放广告
  • 备案 网站名称怎么写crm软件
  • 扁平式网站模板b2b网站推广优化
  • 做外贸网站网络营销咨询服务
  • 江门网站建设方案报价淘宝seo优化怎么做
  • 盘龙城做网站推广网站推广
  • 如何做电子书网站域名站长工具
  • 物联网平台有哪些排名优化外包公司
  • 秦皇岛汽车网站制作数字营销工具
  • 培训教育的网站怎么做东莞做网站的联系电话
  • 云南做网站的公司外贸谷歌优化
  • 网页设计学徒培训可试学巢湖seo推广
  • 让顾客心动的句子seo模拟点击软件源码
  • 设计类专业包括哪些kj6699的seo综合查询
  • 手机网站制作哪家好查关键词
  • 米拓企业网站管理系统电商培训机构排名前十
  • 做效果图有哪些网站seo点击排名