函数进阶知识

本文探讨了函数返回值的概念,如何确定和获取返回值,以及在实际编程中的应用,如max函数的高级用法、map和reduce函数示例。重点介绍了如何通过返回值传递新数据和实现特定功能。

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

函数的返回值

什么是返回值 - 返回就是从函数内容传递到函数外部的数据。
怎么确定一个函数的返回值。
return后面的值就是函数的返回值(执行函数体时如果遇到return,return后面的值就是函数的返回值)。
怎么在函数外部获取函数返回值。
获取函数调用表达式的值就是获取这个函数的返回值。
一个函数只有一个返回值。
函数调用表达式 - 调用函数的语句。
什么时候使用返回值:
如果实现函数的功能,产生了新的数据,就将新的数据作为函数的返回值返回。

常见实参高阶函数

max

max(序列) - 直接比较序列中元素的大小,求出最大值
max(序列,key = 函数)
#求nums中十位数最大的元素
nums = [9108, 23, 167, 90, 556, 149]
result = max(nums, key=lambda i: i // 10 % 10)
print(result)
#nums中各个位数之和最大的元素
nums = [102, 19, 48, 221, 52]
# 3,10,12,5,7  ->  48
result2 = max(nums, key=lambda i: i // 100 + ((i // 10) - i // 100 * 10) + i % 10)
print(result2)

def temp(i):
    sum1 = 0

    for x in str(i):
        sum1 += int(x)
    return sum1

result_2 = max(nums, key=temp)
print(result_2)

map

#案例1:将nums中所有的元素乘以10
nums = [82, 67, 89, 6617, 90, 23, 71]

result = map(lambda i: i * 10, nums)
print(list(result))

reduce
求所有学生的总分

students = [
    {'name': '小明', 'age': 19, 'score': 89, 'gender': '男'},
    {'name': '小红', 'age': 22, 'score': 99, 'gender': '女'},
    {'name': '小胡', 'age': 28, 'score': 75, 'gender': '男'},
    {'name': '小花', 'age': 25, 'score': 80, 'gender': '女'},
    {'name': '李华', 'age': 17, 'score': 84, 'gender': '男'}
]
# 0 + 89 + 99 + 75 +...  -> 0 + {'name': '小明', 'age': 19, 'score': 89, 'gender': '男'}['score'] + ...
result = reduce(lambda i, item: i + item['score'], students, 0)
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值