范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python函数进阶高阶函数

  高阶函数什么是高阶函数
  高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。
  高阶函数可以是你使用 def  关键字自定义的函数,也有Python系统自带的内置高阶函数。自定义一个高阶函数
  我们下面的例子中,函数 senior 的参数中有一个是函数,那么senior就是一个高阶函数;函数 tenfold 的参数不是函数,所以tenfold就只是一个普通的函数。 # 定义高阶函数 def senior(func, container):    """    将容器中的数据依次放入函数中进行运算,    将结果返回到迭代器中,最后返回迭代器。    """    lst = list()    for i in container:       lst.append(func(i))    return iter(lst)   # 定义普通的功能函数 def tenfold(num):    """    十倍器    将数据乘 10,返回结果。    """    return num * 10   # 定义一个列表 lst = [10, 20666, "msr"]  # 使用高阶函数 it = senior(tenfold, lst) print(list(it)) # [100, 206660, "msrmsrmsrmsrmsrmsrmsrmsrmsrmsr"] 常用的内置高阶函数
  函数
  功能作用
  map
  处理可迭代对象中的数据,将处理的结果返回到迭代器中。
  filter
  过滤可迭代对象中的数据,将过滤好的数据返回到迭代器中。
  reduce
  处理可迭代对象中的数据,将最终的结果返回出来。
  sorted
  排序可迭代对象中的数据,将排序好的结果返回出来。 map函数
  语法:map(function, Iterable) 参数说明
  function:函数,可以是 自定义函数 或者是 内置函数;
  iterable:可迭代对象,可迭代性数据。(容器类型数据和类容器类型数据、range对象、迭代器) 功能
  把可迭代对象中的数据一个一个拿出来,然后放在到指定的函数中做处理,将处理之后的结果依次放入迭代器中,最后返回这个迭代器。 实例
  将列表中的元素转成整型类型,然后返回出来。 lst = ["1", "2", "3", "4"]  """ 使用常规的写法 """ new_lst = list() for i in lst:     new_lst.append(int(i)) print(new_lst)  # [1, 2, 3, 4]   """ 使用map函数实现 """ it = map(int, lst) new_lst = list(it) print(new_lst)  # [1, 2, 3, 4]
  列表中的每一个数依次乘 2的下标索引+1 次方。使用自定义的函数,配合实现功能。 lst = [1, 2, 3, 4]  """ 普通的方法,利用左移 """ new_lst = list() for i in lst: 	res = i << i 	new_lst.append(res) print(new_lst)  # [2, 8, 24, 64]   """ 使用map函数 """ # 先定义一个左移函数,自定义的函数必须是一个带参函数并且有返回值 def func(num): 	return num << num new_lst = list(map(func, lst)) print(new_lst)  # [2, 8, 24, 64]   """ 使用lambda简化 """ new_lst = list(map(lambda num: num << num, lst)) print(new_lst)  # [2, 8, 24, 64] filter函数
  语法:filter(function, iterable)
  参数的意义和map函数一样 功能
  filter用于过滤数据,将可迭代对象中的数据一个一个的放入函数中进行处理,如果函数返回值为真,将数据保留;反之不保留,最好返回迭代器。 实例
  保留容器中的偶数 lst = [11, 2, 3, 34, 4, 4, 55]  """ 常规写法 """ new_lst = list() for i in lst:    if i % 2 == 0:       new_lst.append(i) print(new_lst)  # [2, 34, 4, 4]   """ 使用filter函数 """ def func(num):    if num % 2 == 0:       return True new_lst = list(filter(func, lst)) print(new_lst)  # [2, 34, 4, 4]   """ filter + lambda """ new_lst = list(filter(lambda num: True if (num % 2 == 0) else False, lst)) print(new_lst)  # [2, 34, 4, 4] reduce函数
  语法:reduce(function, iterable)
  参数含义与map、filter一致。 功能
  计算数据,将可迭代对象的中的前两个值放在函数中做出运算,得出结果在和第三个值放在函数中运算得出结果,以此类推,直到所有的结果运算完毕,返回最终的结果。
  根据功能我们就应该直到,reduce中的函数需要可以接收两个参数才可以。 实例
  reduce函数使用需要先从标准库functools中导入
  将列表中的数据元素组合成为一个数, from functools import reduce  lst = [2, 0, 6, 6, 6]   """ 常规方法 """ char = str() for i in lst:    char += str(i) print(int(char))    # 20666   """ 使用reduse函数 """ def func(x, y):    return x * 10 + y res = reduce(func, lst) print(res)  # 20666   """ reduce + lambda """ res = reduce((lambda x, y: (x * 10 + y)), lst) print(res)  # 20666 sorted函数
  语法:sorted(Iterable, key=function, reverse=False) 参数说明
  iterable:可迭代对象;
  key:指定函数,默认为空;
  reverse:排序的方法,默认为False,意为升序; 功能
  如果没有指定函数,就单纯的将数据安札ASCII进行排序;如果指定了函数,就将数据放入函数中进行运算,根据数据的结果进行排序,返回新的数据,不会改变原有的数据。
  注意,如果指定了函数,排序之后是根据数据的结果对原数据进行排序,而不是排序计算之后的就结果数据。 实例
  将列表中的数据进行排序。 lst = [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3]  """ 使用列表的内置函数进行排序,默认升序 """ lst.sort() print(lst)  # [-3, 1, 5, 6, 12, 12, 23, 34, 342, 2345] # 降序排序 lst.sort(reverse=True) print(lst)  # [2345, 342, 34, 23, 12, 12, 6, 5, 1, -3]   lst = [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3] """ 使用sorted进行排序 """ new_lst = sorted(lst) print(new_lst)  # [-3, 1, 5, 6, 12, 12, 23, 34, 342, 2345] print(lst)      # [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3]
  还有一点就是 sorted 函数可以将数据放入函数中进行处理,然后根据结果进行排序。 lst = [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3]  """ 按照绝对值进行排序 """ new_lst = sorted(lst, key=abs) print(new_lst)  # [1, -3, 5, 6, 12, 12, 23, 34, 342, 2345]   """ 按照除以10的余数进行排序 """ def func(num):    return num % 10 new_lst = sorted(lst, key=func) print(new_lst)  # [1, 342, 12, 12, 23, 34, 5, 2345, 6, -3]  # 可以看到,我们指定函数之后排序的结果既不是原数据的绝对值、也不是原数据除以10的余数,而是根据这两种计算结果对原数据进行了排序。 sort和sorted
  既然有了列表的内置函数sort,为什么我们还要使用sorted函数呢? sorted可以排序一切可迭代对象,但是sort只是列表的内置函数,只能对列表进行排序; sorted排序返回新的数据,不改变原数据,sort改变了原数据; sorted可以指定函数,根据函数的计算结果、按照某一种方式进行排序,但是sort只能单纯的根据数字大小和ASCII进行排序。 总结
  高阶函数就是将函数作为参数的函数。 map(Function,Iterable)(将可迭代性数据中的元素一一取出放入函数中进行运算在将结果返回,最后返回的数据类型是迭代器)  filter(Function,Iterable)(过滤数据,将可迭代性数据放入函数中进行运算,结果为真将数据返回,反之舍弃,最会返回的数据类型是迭代器)  reduce(Function,Iterable)(计算数据,将可迭代型数据中的前两个元素拿出放入函数中进行运算将结果在与后一个元素进行运算,最后返回最终的结果)  sorted(Iterable,[key=Function],[reverse =Bool(False(default)/True)])(将可迭代型数据进行排序,或将可迭代型数据放入函数中进行运算将结果进行排序返回)
  文章来自https://www.cnblogs.com/msr20666/p/16188820.html

vue创建项目的三种方式安装nodejs0命令行创建项目安装cnpmnpminstallgcnpmregistryhttpsregistry。npm。taobao。org搭建vue开发环境,安装vue脚手近十年各行业工资变化金融业风光不再,互联网能否持续长红?近年来,各大行业的工资水平有何变化?第一财经记者根据国家统计局公布的中国统计年鉴2021,对各行业2020年城镇非私营单位在岗职工平均工资及近年来的增长变化梳理发现,近十年来,工资UC饿了么摩拜,那些30多岁套现数十亿的年轻富豪,干啥去了文龙溪来源商业传奇2006年,由于资金链断裂,王兴王慧文和赖斌强,不得不将校内网卖给陈一舟,很多人把其归结为创业失败。其实,三人拿到了不菲的现金,世界那么大,我想去看看,拿着这笔钱广东大力发展预制菜产业,推动农产品12221市场体系建设36氪获悉,广东省人民政府办公厅印发的广东省促进工业经济平稳增长行动方案提出,鼓励各市通过发放消费券等形式开展消费促进主题活动,推动新能源汽车智能家电等相关行业工业产品下乡。开展汽iPhon14还没首发,iPhone15被曝光了,苹果13香再见大家都知道苹果iPhone手机这几年在国内销量不断增加,主要还是华为的芯片受阻,新一代机型没法更新,让很多华为粉丝纷纷转向苹果品牌,特别是iPhone13系列首发后销量可以说稳居首第一次发布头条,记录一下开菜鸟驿站的经营过程我是某某快递的站点负责人,管理着每天6千票派件区域,在自己负责的区域开了一家菜鸟驿站,投资不多。铺子是两押一租,租金8600,管理费3块,菜鸟驿站设备押金共计24000元,因为工作Python里面的self,是谁啊?转自Python大数据分析大家学Python面向对象的时候,总会遇到一个让人难以理解的存在self这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用vivo首款平板外观正式公布vivo官微今天透露了vivoPad首款平板,公布了几张初期图片。预计将会在下周一与其他几款机型一同官宣发布会时间,从照片来看新机采用全金属一体化设计,并且屏幕为四等宽全面屏。官方Layui模块使用分享1概述采用layui,我们应该遵循一定的步骤,以方便标准化开发1对layui加载模块进行函数封装,可以放到优先加载的文件中比如global。js代码如下varglobalConfig智能家居,强大的人工智能应用场景21世纪以来,随着大数据物联网云计算等新型技术的不断发展,人们的生活逐步趋于智能化管理,智能家居就是一个典型的案例,智能化的操作让生活质量得以高效提升,在愉悦身心的同时,为居住者提吊爆了,一篇带你学好(MySQL设计之Schema与数据类型优化)一数据类型优化1更小通常更好应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没
电脑操控手机投屏软件官方版下载,推荐这两款!(软件篇)哈喽,各位小宝贝大家好,今天给小伙伴分享一个电脑控制手机的神器Anlink,Anlink是一款可以在电脑操作手机的软件,将手机画面投屏到电脑,在电脑上操作手机,支持所有品牌的安卓手品牌好物时刻关注体温的omthing简悦全触屏智能手表体验时刻关注体温的omthing简悦全触屏智能手表体验随着科技的发展,智能手表功能越来越强大,它不仅支持多种运动模式的运动管理睡眠监测血压检测心率检测体温监测拍照操控音乐播放操控等功能多重安全防护的云米电热水器S1体验多重安全防护的云米电热水器S1体验前言热水器是每个家庭必备的家居电器,在家庭中使用最多的热水器有燃气热水器和电热水器,它们各有各的优点。在这两种热水器中,我比较喜欢电热水器,不受天一加手机到底怎么样?难道树大招风,招人妒忌?历史就是个圈嘛说白了就是一加的动作太大了,可能会影响别人的蛋糕分配,如今国内市场已经没有太多的空地可以分了,就是你争我抢的,是谁其实大家都清楚。如果说到黑稿内容本身的话,一加9系列国产手机,一加9怎么样,预算5000,值得买吗?个人认为非常值得买,国产手机一直被喷的一个点是组装机,虽然有些不客观,但某种程度上却是事实,但如何组装打磨调教,打造出自家的品牌特色产品特色,是非常值得关注的,也很大程度影响大家购2021手机机皇,莫非是一加9Pro?小米11怎么样上一个图吧,网上看到的,虽然我知道估计会有争议,但是可以整体对比一下。下面是我个人的一些观点几个核心差异屏幕小米参数更强,但两者都通过了A认证,显示素质相差不多,2K分辨率差距会比小尼熊果蔬清洗机专业快速净化食材小尼熊果蔬清洗机专业快速净化食材测评视频httpsv。youku。comvshowidXNTgwNzc3NTQ0NA。html前言传统简单水洗无法彻底去除果蔬表面的农药残留细菌和病30000毫安超大容量的ORICO双向充电移动电源体验30000毫安超大容量的ORICO双向充电移动电源体验前言手机移动电源几乎人手有一个,无论是办公居家,还是出差在外,身边都离不开它。更何况现在手机移动电源都应用快充技术,快速充电成免费无损音乐下载器(软件篇)歌词适配是一款免费的手机音乐搜索器,提供海量的音乐资源,国内外的音乐都有,内置新奇的搜索方式,输入歌词就能搜索到喜欢的歌曲,搜索到的歌曲都能免费听,支持在线听歌,也可以缓存音乐收听提高原相机的利用率?vivoS10Pro干了许多第三方自拍软件的活这年头还有人敢用原相机自拍吗?相信绝大部分的用户,基本都会拒绝使用原相机自拍,尤其是女性用户,为了能够呈现出更好的自拍效果,美颜App成为了手机上必装的软件之一。然而美颜App都存15年的苹果电脑MACPRO使用体验网上说苹果系统优秀的封闭系统能使机器流畅度保持很多年,本人近期考虑工作原因从某鱼购进了一款15年的半身苹果电脑。如下图使用了一个月简单说一下优缺点,优点之一,还是系统的流畅度,简直