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

辽宁同鑫建设有限公司网站网站创意的技术

辽宁同鑫建设有限公司网站,网站创意的技术,计算机网站开发图片,网站 流量攻击一.什么是高阶函数高阶函数是函数式编程核心概念之一,它是指能够接受函数作为参数或者返回函数作为结果的函数。在Python中,函数可以像普通变量一样被传递和操作,这为高阶函数的使用提供了基础。高阶函数的两个主要特点:&#xff…

一.什么是高阶函数

高阶函数是函数式编程核心概念之一,它是指能够接受函数作为参数或者返回函数作为结果的函数。在Python中,函数可以像普通变量一样被传递和操作,这为高阶函数的使用提供了基础。

高阶函数的两个主要特点:

(1)接受函数作为参数:可以将函数作为参数传递给另一个函数

(2)返回结果作为参数:函数可以作为另一个函数的返回值

为什么要使用高阶函数

(1)提高代码的抽象程度

(2)减少代码重复

(3)增强代码的灵活性和可延展性

二.Python中的内置高阶函数

Python中有许多内置的高阶函数,可以使我们的工作更加便利。

1.map()函数

map()将函数应用于可迭代对象的每个元素,返回一个迭代器。

numbers = [1, 2, 3, 4]
squared = map(lambda x: x**2, numbers)
print(list(squared))  # [1, 4, 9, 16]

2.filter()函数

filter()过滤掉函数返回False的元素,返回一个迭代器。

numbers = [1, 2, 3, 4]
evens = filter(lambda x: x%2 == 0, numbers)
print(list(evens))  # [2, 4]

3.reduce()函数

reduce()对可迭代对象中的元素进行累积运算。

from functools import reduce
numbers = [1, 2, 3, 4]
sum = reduce(lambda x,y: x+y, numbers)
print(sum)  # 10

4.sorted()函数

sorted()根据key函数对可迭代对象进行排序。

students = [{'name':'Alice','age':20}, {'name':'Bob','age':18}]
sorted_students = sorted(students, key=lambda x: x['age'])
print(sorted_students)  # [{'name': 'Bob', 'age': 18}, {'name': 'Alice', 'age': 20}]

5.any()函数和all()函数

any()任意元素为True返回为True。

all()所有元素为True返回为True。

numbers = [0, 1, 2]
print(any(numbers))  # True
print(all(numbers))  # False

6.labmda()函数(匿名函数)

lambda函数是一种简洁的定义单行函数的方式,也称为匿名函数(因为它没有函数名)。

lambda 参数: 表达式

特点:

只能包含一个表达式

不需要return语句,结果自动返回

适合简单的函数逻辑

示例1:简单计算

# 普通函数
def square(x):return x * x# lambda等效写法
square = lambda x: x * xprint(square(5))  # 输出: 25

示例2:配合高阶函数使用

# 配合map使用
numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # 输出: [1, 4, 9, 16]# 配合filter使用
evens = list(filter(lambda x: x%2 == 0, numbers))
print(evens)  # 输出: [2, 4]

三.高阶函数简单实战:学生成绩处理

案例:处理班级学生成绩数据

假设我们有一个班级的学生成绩列表,每个学生是一个字典,包含姓名和成绩:

students = [{"name": "张三", "score": 85},{"name": "李四", "score": 92},{"name": "王五", "score": 78},{"name": "赵六", "score": 65},{"name": "钱七", "score": 88}
]

1.筛选及格的学生

2.计算平均分

3.找出成绩最好的学生

4.按成绩从高到低排序

示例:

students = [{"name": "张三", "score": 85},{"name": "李四", "score": 92},{"name": "王五", "score": 78},{"name": "赵六", "score": 65},{"name": "钱七", "score": 88}
]# 1. 筛选及格学生
passed = list(filter(lambda s: s["score"] >= 60, students))# 2. 计算平均分
from functools import reduce
avg = reduce(lambda x, y: x + y["score"], students, 0) / len(students)# 3. 找出最高分学生
top = max(students, key=lambda s: s["score"])# 4. 成绩排序
sorted_students = sorted(students, key=lambda s: s["score"], reverse=True)# 输出结果
print("及格学生:", passed)
print(f"班级平均分: {avg:.1f}")
print("最高分学生:", top["name"], top["score"])
print("成绩排名:", [(s["name"], s["score"]) for s in sorted_students])

http://www.dtcms.com/a/484507.html

相关文章:

  • 多表查询(总结)
  • 口碑好的坪山网站建设成都家具企业网站建设
  • 制作免费个人网站青岛网站优化公司
  • 北京网站建设亿玛酷适合5网站设计要注意事项
  • 网站建设网页与数据库连接生产管理系统免费版
  • 淘客网站建设带app抖音权重查询工具
  • 福州网站建设嘉艺可以做哪些有趣的网站
  • 邯郸做网站就找安联网络设计师常用的网站
  • 杭州网站建设索q479185700做网站如何给图片命名
  • 网站建设佰首选金手指二八wordpress修订
  • MyBatisPlus中使用@EnumValue实现标记枚举类中与数据库字段映射的属性
  • 刷东西网站怎么做深圳网站建设有免费的吗
  • C++中#define和const的区别
  • 玫瑰在线 网站建设内容西安网站seo技术厂家
  • 烟台网站建设 制作 推广上海专业高端网站建设服务公司
  • 设计素材网站知乎百度一下你就知道官网网页版
  • 广东省住房和城乡建设厅公众网站怎么去推广自己的平台
  • 学院校园网网站建设情况wordpress文章推荐
  • 建设部国家标准网站深圳专业网站优化公司报价
  • SA8203 输入耐压36V 过流保护0.3-2.5A可调 过压/过流保护器 SOT23-6
  • 深圳做网站的网正邦集团招聘
  • 家庭带宽100m做网站用什么网站做ppt
  • 创意广告视频网站聊城网站seo
  • 网站云空间和普通空间如何做网站详细步骤
  • 保山市住房和城乡建设局门户网站网页设计与网站建设文档
  • 从零起步学习MySQL || 第三章:DML语句定义及常见用法示例
  • 建站公司外包wordpress json 时间
  • php网站开发招招聘网页美工设计实训心得
  • 电子商务网站建设外包服务怎样登录韵网网站
  • 单页营销网站模板无锡app制作