Python语言基础-2.5函数基础(理)
第3关:lambda函数的使用
任务描述
本关任务:熟悉lambda函数的定义与使用
相关知识
1.可变参数 2.lambda函数 3.map()函数。 可变参数的知识见第2关 lambda函数 用于定义简单的、能够在一行内表示的函数,返回一个函数值 格式如下:
例如: f=lambda x,y:x+y #定义一个求两个数和的lambda函数 print(type(f)) print(f(10,20)) #调用lambda函数
map()函数(备用) map(function, iterable, ...) 其中 function 是一个函数,可以使用匿名函数,iterable 是一个或多个序列。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 例如:result = map(lambda x: x**2, [1, 3, 5, 7, 9]) print(list(result)) #结果为:[1,9,25,49,81]
注意:map函数返回的是一个迭代器,需要使用list函数转换为列表
编程要求
1、定义两个求两个数最大值和最小值的lambda函数, 2、调用lambda函数完成求n个数的最大值和最小值的程序
ps. (n,*array) :参数为可变参数,类型为元组(tuple)
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 2 11:57:19 2021
@author: hzh
"""
#定义2个lambda函数,求两个数的最大值max1,和最小值min1的函数
##########begin##########
max1=lambda x,y:x if x>y else y
min1=lambda x,y:x if x<y else y
##########ends##########
#调用max1和min1函数完成求n个数的最大值和最小值的函数定义并返回最大值与最小值
def max_min_array(n,*array): #参数为可变参数列表
##########begin##########
maa=max(array)
mia=min(array)
tmp=max1(n,maa)
temp=min1(n,mia)
return (tmp,temp)
##########ends##########
print(max_min_array(3,1,6,9))
print("*"*20)
print(max_min_array(4,4,6,9,100))
print("*"*20)
print(max_min_array(6,1,4,6,9,100,50))
print("*"*20)