




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python函数式编程作为一种多范式编程语言,Python结合了命令式编程和面向过程的编程范式,也对面向对象和函数式编程范式提供了完整支持。其中Python函数式编程对于通过Python接口使用Spark是不可或缺的,因此进行PySpark编程前,需要先掌握Python中的常用数据结构(包括元组、列表和字典)以及函数式编程。Python函数式编程1Python函数式编程基础目录Python中的常用数据结构2在程序设计中,不仅需要使用单个变量保存数据,而且需要使用多种数据结构来保存大量数据,Python提供了元组(tuple)、列表(list)和字典(dict)3种常用的数据结构来保存多个数据项。Python中的三种常用数据结构是Python程序设计的基础,是利用计算机思维解决问题的途经,理解并掌握这些数据结构,能够设计出更加高效的Python代码,提高程序运行效率。元组列表字典Python中的常用数据结构元组是Python中的基本序列类型,元组中包含的元素是不可变的(即程序不能修改元组所包含的元素)。元组可以包含不同类型的对象,如混合字符串、整型和浮点型对象,也可以包含其他的序列类型,如另一个元组。元组的创建,Python中元组的创建使用圆括号“()”,在圆括号中添加元素,元素之间使用逗号隔开,如果元组中只有一个元素,那么需要在元素后面加上“,”,元组也可使用tuple()方法创建。元组元组中的每个元素都分配一个数字对应它的位置或索引,第一个元素是0,第二个元素是1,依此类推。在Python支持逆序查找元素,使用“-”表示从元组末尾开始查找元素,如-1表示最后一个元素。在Python中,除了使用索引访问元组中的单个元素,还支持访问元组中某一范围内的元素,该操作称为分片操作,是通过由“:”相隔的两个索引号实现的。元组元素访问Python中列表(List)与元组类似,都是序列类型。但列表中的元素是可变的(即程序可以修改列表所包含的元素)。列表的创建,Python中列表的创建使用方括号“[]”,在方括号中添加元素,各元素之间使用“,”隔开,列表可使用list()方法创建。列表列表中元素的访问与元组相同,支持通过索引访问单个元素,也支持通过分片访问某个范围的元素。列表元素访问列表与元组不同之处在于列表支持对元素的修改,可以通过索引确定待修改的元素。一般使用赋值方式修改该索引对应的元素,列表中元素的删除使用“del”关键字。列表元素修改及删除字典是Python提供的另一种常用的数据结构,用于存放具有映射关系的数据,采用键值对表示。字典的创建,Python使用花括号“{}”来创建字典,也可以使用dict函数创建字典,创建字典时,键和对应值之间用冒号“:”分隔,不同的键值对之间用逗号“,”进行分隔。字典字典中元素的修改与列表元素修改类似,使用关键字查找待修改的元素,一般使用赋值方式修改元素的值;字典元素的删除使用“del”关键字。字典元素修改及删除列表和元组内的元素可以通过元素对应的下标进行访问,而字典中的元素则通过键进行访问。如果要访问字典中的所有元素,那么可以使用for循环完成。字典元素访问及遍历1Python函数式编程基础目录Python中的常用数据结构2函数式编程最早起源于LISP,相比面向对象编程,函数式编程的一大优势是ImmutableData(数据不可变),就是不依赖于外部的数据,而且也不改变外部数据的值,函数式编程可以像使用变量一样使用函数,这一理念现在也被Python/Java/Ruby等多种语言借鉴。Python的函数式编程包括匿名函数、高阶函数等。Python函数式编程基础匿名函数(anonymousfunction)顾名思义就是没有函数名称,是Lisp、Scala、Go等函数式编程语言都有的特性。Python中也支持匿名函数。为了定义匿名函数,Python使用lambda表达式定义,而不是使用具名函数的def关键字。匿名函数与普通函数一样接受任意数目的输入参数,但是只返回一个值。这个返回值可以是一个标量值,也可以是列表等数据结构。匿名函数高阶函数接收函数作为参数,并且可以返回函数作为结果。map
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锻造供应链专员考试试卷及答案
- 非遗传承人(现代创新方向)笔试试题及答案
- 2025年怀化市辰溪县自然资源局招募笔试考试试题【答案】
- 2025年廊坊文安县选聘高中教师考试笔试试题【答案】
- 项目投资风险的管理
- 2025年井下瑞雷波探测仪合作协议书
- 2025年模组检测系统项目建议书
- 2025年暑假建筑专业大学生.实践报告范文
- 以实践为导向的高校干细胞研究与教学策略
- 提升教学效果的利器教育机器人技术概览
- 夏季防暑降温科普课件
- 背胶作业指导书
- 农村小学基于国家中小学智慧教育平台下的双师课堂研究
- 遥感地质学复习题(完整版)
- 中药湿敷技术
- 2023年上海市教师招聘考试《教育心理学》考前模拟题及答案
- DLT-969-2023年变电站运行导则
- ZAPI交流故障表 萨牌代码
- 《健康经济学》课件Chapter16
- 儿童用药剂量
- 2023年感动中国十大人物颁奖词-范文汇编
评论
0/150
提交评论