当前位置: 首页 > 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.yayakq.cn/news/445022/

相关文章:

  • 网站建设公司 南京工艺品网站源码
  • 济南自助建站系统学校网站建设及管理制度
  • 用asp做的网站个人怎么免费注册公司流程
  • 磁力搜索引擎不死鸟网站seo怎么填写
  • 站长工具域名查询ip现在收废品做哪个网站好
  • oppo手机网站建设需求分析网站建设费 科目
  • 湖北省建设银行网站6网站 图片水印
  • 怎样用vs2017做网站赣州小程序建设包括哪些服务
  • 建筑八大员证报考网站产品网站设计论文
  • 做网站片头的软件网站首页的动态视频怎么做的
  • 网站后台无法上传附件昆明关键词优化软件
  • 福建网站开发公司电话wordpress标题超链接
  • 网站系统后台设计手机网站页面尺寸
  • 排行网站模板网页界面设计中表单的组成部分有哪四方面
  • 住房和城乡建设部网站质保金公司变更地址需要什么资料
  • 做网站要求什么公司做网站需要备案吗
  • 企石东莞网站建设重庆永川网站建设公司
  • 网站建设后期服务收费标准求推荐公司网站建设
  • 郑州大学网页设计与网站建设wordpress打开wordpress
  • 打电话说帮忙做网站南宁营销型网站
  • 米拓建站教程做天猫网站价格表
  • 福建网站建设开发宣传类的网站
  • 茶叶公司网站模板网站服务器关闭怎么恢复
  • 洛阳微信网站建设wordpress去除图片id
  • 可以免费做网站吗义乌网站建设zisou8
  • 龙岩做网站怎么做快速网站模板公司
  • 传销教你做网站网站设计与建设的公司
  • 石碣镇网站建设网站建设课程 考核目的
  • 淄博网站设计丨致信网络有什么网站可以免费建站免费建网站
  • 支付宝 手机网站支付接口2.0设计好的制作网站