栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 练习记录 高阶函数使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 练习记录 高阶函数使用

练习 创建一个函数,可以指定列表中所有符合可变条件的数,保存到一个新的列表中返回

可变条件1.找出列表中所有偶数
可变条件2.找出列表中所有奇数
可变条件3.找出列表中3的倍数
要求:自动去除重复数值并且顺序排列

l = [1,3,5,2,4,8,6,9,12,3,16] 


def My_Del(lst,log:int=0)->list:
    '''
        创建一个函数用来删除函数中的重复元素,并且保存成一个新的按序排列的列表返回
        lst :要进行筛选的列表       
    '''
    #print("My_Del接收到list",lst) #打印检查
    result = list(set(lst.copy())) #利用集合的特性删除掉重复元素,result用来存储最后结果
    result.sort() #列表升序排列
    #print("My_Del处理后list",result) #打印检查
    return result

def Even(i:int)->bool:
    '''
        该函数判断传入数字是否为偶数,并将结果返回
        参数i : 需要做判断的参数,必须为整数类型
    '''
     return i%2 == 0 

def Treble(i:int)->bool:
    '''
        该函数判断传入数字是否为三的倍数,并将结果返回
        参数i : 需要做判断的参数,必须为整数类型
    '''
    return i%3 == 0 

def Odd(i:int)->bool:
    '''
        该函数判断传入数字是否为奇数,并将结果返回
        参数i : 需要做判断的参数,必须为整数类型
    '''
    return i%2 != 0 

def  fn(func,lst:int = [])->list: 
    '''
        fn()函数可以将指定列表中的所有偶数获取出来,并保存到一个新列表中返回
        参数:
        func :列表筛选条件 
        lst :要进行筛选的列表
    '''
    result = []
    for i in lst :  #遍历列表中的值
        #print("i=",i)   #打印检查
        if func(i) :  #选出符合函数要求的数值 
            result.append(i)
    result = My_Del(result) #在函数内调用函数
    return result

print(f"原列表{l}")
print("提取偶数列表",fn(Even,l))
print("提取奇数列表",fn(Odd,l))
print("提取三倍列表",fn(Treble,l))

结果:

原列表[1, 3, 5, 2, 4, 8, 6, 9, 12, 3, 16]
提取偶数列表 [2, 4, 6, 8, 12, 16]
提取奇数列表 [1, 3, 5, 9]
提取三倍列表 [3, 6, 9, 12]

***Repl Closed***
总结:

高阶函数
接收函数作为参数,或者将函数作为返回值(例如递归函数)的函数是高阶函数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号