Python基础之高阶函数

本文介绍了如何使用Python对学生数据按姓名和年龄进行排序,并展示了内置的高阶函数如map、reduce和filter的应用,涉及列表操作和函数式编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

students = [{'name': 'tom', 'age': 20},
            {'name': 'tim', 'age': 12},
            {'name': 'kim', 'age': 22}]

# 按照Name升序排序
students.sort(key=lambda x: x['name'])
print(students)

# 按照name降序排列
students.sort(key=lambda x: x['name'], reverse=True)
print(students)

# 按照age升序排序
students.sort(key=lambda x: x['age'])
print(students)

abs = abs(-10)  # 绝对值
around = round(1.1)  # 四舍五入


def add_number(a, b, f):
    return f(a) + f(b)
print(add_number(1.2, 1.1, round))


# 内置高阶函数
# 1.map(func, lst), 将传入的函数变量func作用到lst变量的每个元素中
list1 = [1, 2, 3, 4, 5]
def func(x):
    return x ** 2

result = map(func, list1)
print(result)  # 返回内存地址 <map object at 0x00000224A46DCC88>
print(list(result))  # 转换为列表后可以看到数据
# 2. reduce(func, lst), 每次func计算的结果继续和序列的下一个元素做累计计算
import functools
def func(a, b):
    return a+b
result = functools.reduce(func, list1)
print(result)

# 3. filter(func, lst), 过滤序列,过滤不符合条件的元素,返回一个filter对象
list2 = [1, 2 ,3, 4, 5, 6, 7, 8, 9, 10]
def func(x):
    return x%2 == 0

result = filter(func, list2)
print(result)  # <filter object at 0x0000026625EBD1C8>
print(list(result))  # 转换为列表后可以看到数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值