Python金融大数据分析课件 第4章 Python组合数据类型实战_第1页
Python金融大数据分析课件 第4章 Python组合数据类型实战_第2页
Python金融大数据分析课件 第4章 Python组合数据类型实战_第3页
Python金融大数据分析课件 第4章 Python组合数据类型实战_第4页
Python金融大数据分析课件 第4章 Python组合数据类型实战_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python组合数据类型实战汇报人:时间:2025/01/01目录01列表02元组03字典04集合05金融数据实战学习目标●理解Python组合数据类型的基本概念●理解列表的概念并掌握列表的应用●理解元组的概念并掌握元组的应用●理解字典的概念并掌握字典的应用●理解集合的概念并掌握集合的应用组合数据类型分类与特征基本与组合数据类型基本数据类型如整数、浮点数、布尔值等,只能存储单一数据。组合数据类型则可存储多个数据,例如列表、元组、字典和集合。组合数据类型分类组合数据类型分为序列类型(如列表、元组)、集合类型(如集合)和映射类型(如字典)。每种类型都有其独特的特征和用途。学习目标理解组合数据类型的概念与差异,掌握其创建、访问、增删改查操作,并能在实际场景中灵活应用。列表014.1列表

列表是一组有序项目的数据结构。列表的所有元素都放在一对方括号“[]”中,相邻元素用“,”分割,可以把整数、字符串、列表、实数等任意类型的数据放入列表。列表是一个可变的数据类型,创建列表后,可以访问、添加、修改、删除列表中的项目。4.1.1列表的创建和删除

列表最常见的创建方法是使用中括号“[]”括起来并使用逗号分隔不同数据项来创建列表。另一种创建列表的方式是使用list()函数创建列表。list()函数可以将元组、字符串或者其他可迭代对象类型的数据转化为列表。示例:1.列表的创建list1=[] #创建空列表list1list2=[1,2,3,4]#创建包括4个整数的列表list2list3=['mony',1930]list4=list() #创建空列表list5=list("money") #将字符串转换为列表list6=list((2,4,6,8,10)) #将元组转换为列表list7=list(range(1,10,2)) #创建一个1~10(不包括10)所有奇数的列表

4.1.1列表的创建和删除

2.列表的删除list1=[1,2,3,4]dellist1 #删除列表list1print(list1)输出:NameError:name'list10'isnotdefined 4.1.2列表元素的访问

使用print()函数即可输出列表的内容,我们也可以通过索引访问列表中某一个位置的值。列表的索引与字符串的索引一样,是从0开始的,往后顺序加1,以此类推;

索引也可以从尾部开始,当从尾部开始时,最后一个元素的索引为-1,倒数第二个元素的索引为-2,以此类推。示例:list1=[1,2,3,4]print(list1[0])print(list1[1])print(list1[-1])print(list1[-2])

输出:12434.1.3列表元素的基本操作1.列表元素的增加

实现列表元素的增加有三种方式,一种是使用append(n)方法在列表的尾部添加新的元素n,一种是使用insert(m,n)方法向列表的指定位置m前插入元素n,还有一种是使用extend(list)方法将列表list中的所有元素添加到另一个列表中。示例:

list12=[1,2,3,4]list12.append(6) #在列表末尾加入新的值”6”list12.insert(4,5) #在索引位置4前加入新的值”5”list13=[7,8,9]list12.extend(list13) #插入另一个列表中的所有元素

4.1.3列表元素的基本操作2.列表元素的删除

实现列表元素的删除有四种方式,一种是使用del语句删除某一位置的元素,一种是使用pop()方法删除并返回指定位置的元素(默认值是最后一个),一种是使用remove()方法删除指定值的第一个匹配项,还有一种是使用clear()方法删除列表中的所有元素。示例:list14=[1,2,3,4,5,6]dellist14[2] #删除列表list14中序号为2的元素”3”list14.pop(1) #删除列表list14中序号为1的元素”2”list14.pop() #删除列表list14中最后一个元素”6”list14.remove(4) #删除列表list14中制定值为4的元素list14.clear() #删除列表list14中所有元素

4.1.3列表元素的基本操作3.列表元素的修改

实现列表元素的修改只需通过索引获取需要修改的元素并将其重新赋值即可。示例:list15=['恒生指数',17762.76,'上证指数',3116.27]list15[1]=17845.92list15[3]='down' #修改列表list15中序号为3的元素值为”down”print(list15) 输出:['恒生指数',17845.92,'上证指数','down']4.1.3列表元素的基本操作4.列表元素的访问

实现列表元素的访问只需使用索引值直接找到列表中的元素。另外,使用index()方法可以获取指定元素首次出现的下标,其格式为index(value,[start,[stop]]),其中start和stop确定了搜索范围,默认值分别为0和列表长度,若列表中不存在指定元素,则会抛出异常。示例:list16=['沪深300',3696.63,-61.60,3751.77,3756.17,3695.03,3758.23,3696.63]print(list16[3])list16.index(3696.63,2,8)#在列表list16中序号为2到8区间查找元素值”3696.63”输出:3751.7774.1.3列表元素的基本操作5.列表的“加”和“乘”操作

与字符串类似,在列表中,“+”用于组合列表,“*”用于重复列表。使用“+”可以合并两个列表,使用“*”可以重复原列表的元素并生成一个新列表。示例:list17=[1,2,3]+[4,5,6]list18=['money']*3print(list17)print(list18)输出:[1,2,3,4,5,6]['money','money','money']4.1.3列表元素的基本操作6.列表元素的遍历

实现遍历列表中的元素,可以借助for循环来实现,该方法可以返回元素的值。示例:list19=['share','valuation','bourse','portfplio']foriteminlist19: print(item)输出:sharevaluationbourseportfplio4.1.4列表的切片操作6.列表元素的遍历

切片是访问列表元素的一种方法,通过指定开始与结尾元素的索引来访问指定范围内的元素,我们可以通过切片来截取列表中的任一部分的内容来得到一个新列表。切片操作的语法形式为:

列表名[start:end:step]其中,start表示切片的起始位置(包含该位置),默认值为0,如果没有指定则默认从表头开始;end表示切片的结束位置(不包含该位置),默认值为列表长度,如果没有指定则默认到表尾结束;step表示切片的步长,默认值为1,当省略步长时,最后一个冒号也可一起省略。当步长为正时,从左向右取值,当步长为负时,反向取值。切片可以用于获得子列表或者修改删除列表元素。4.1.4列表的切片操作示例:list20=[5,7,9,4,3,8,-10,24,37]print(list20[0:7:2])print(list20[::-2])list20_a=list20[2:6] #利用切片获得子列表print(list20_a)list20[0:5:2]=[6,10,4]#利用切片修改列表元素,注意等号两边的元素个数须相等print(list20)dellist20[3:6] #删除列表元素print(list20)输出:[5,9,3,-10][37,-10,3,9,5][9,4,3,8][6,7,10,4,4,8,-10,24,37][6,7,10,-10,24,37]4.1.5列表的常用函数和方法表4-1列表的其他常用函数和方法函数或方法

含义len()返回列表长度max()返回最大元素min()返回最小元素list.count(x)统计x在列表中出现的次数list.copy()复制列表list.sort(key=None,reverse=Flase)排序。key的值是一个函数,该函数的参数是列表的每个元素;reverse是排序规则,值为True时是降序排序,值为Flase(默认值)时是升序排序。sorted(list,key=None,reverse=Flase)reverse是排序规则,值为True时是降序排序,值为Flase(默认值)时是升序排序。除了上述已经提及的函数和方法外,列表的其他常用函数和方法见表4-1。4.1.6列表解析表达式列表解析表达式提供了一种生成包含特定需求列表的方式,它的代码更加简洁,并且不会损失代码的可读性。若需要创建一个包含数字1-5的平方的列表,使用普通方法来实现与使用列表解析表达式方法的对比如下:list1=[]foriinrange(1,6):list1.append(i**2)#使用一般方法print(list1)list2=[i**2foriinrange(1,6)]#使用列表解析表达式print(list2)输出:[1,4,9,16,25][1,4,9,16,25]4.2元组元组与序列相似,是由一组按一定顺序排列的元素构成的。元组的所有元素都放在一对圆括号“()”中,相邻元素用“,”分隔,可以把整数、实数、字符串、列表、元组等任意类型的数据放入元组。元组与列表不同的地方是,元组中的元素不能够被修改,所以通常用于保存程序中不可修改的内容。4.2.1元组的创建和删除1.元组的创建元组最常见的创建方法是使用圆括号“()”括起来并使用逗号分隔不同的数据项。需要注意的是,当使用这种方法创建只包含一个元素的元组时,需要在元素后面添加逗号“,”,否则括号将会被当做运算符使用,而不是用来创建元组。另一种创建元组的方式是使用tuple()函数,如同list()函数一样,tuple()函数可以将其他类型的序列转化为元组。以上两种方法都可以创建空元组。4.2.1元组的创建和删除示例:tup1=(50)tup2=(50,)list1=[1,2,3]tup3=tuple(list1)print(type(tup1))print(type(tup2))print(type(tup3))

输出:<class'int'><class'tuple'><class'tuple'>4.2.1元组的创建和删除2.元组的删除由于元组是不可变序列,所以元组中的元素无法删除。当不再使用已创建的元组时,可以使用del语句删除整个元组。示例:tup4=(5,8,6)print(tup4)deltup4print(tup4)输出:(5,8,6)NameError:name'tup4'isnotdefined4.2.2元组和列表的差异元组和列表的不同之处在于:元组属于不可变序列,它的元素不能被修改和删除,而列表属于可变序列,它的元素可以被修改和删除。因此,列表可以使用append()、extend()和remove()等方法。元组支持使用切片,但仅支持通过切片访问元组中的元素,而列表支持使用切片访问和修改列表中的元素。元组的访问和处理速度比列表快,因此当只需进行元素的访问而不需要进行修改时,更建议使用元组而非列表。4.2.3元组的序列操作

使用切片可以访问元组中的元素,与字符串和列表类似,元组中的下标索引也是从0开始的。元组内容虽然不可被修改,但是可以使用加号“+”对元组进行连接组合。元组之间可以使用运算符,组合复制成为一个新元组。示例:tup5=(1,2,3)tup6=('a','b','c')print(tup5[2])tup7=tup5+tup6print(tup7)print(tup6*4)

输出:3(1,2,3,'a','b','c')('a','b','c','a','b','c','a','b','c','a','b','c')字典034.3字典在生活中的很多场景中会用到使用一个信息查找另一个信息,例如查询某一支股票的信息时需要基于股票代码进行查询。由此可以引出“键值对”的概念,“键”与“值”之间是一种对应关系,即可以通过一个特定的键来访问其对应的值。字典是一种无序的可变序列,其内容以“键值对”的形式存放,是使用花括号“{}”包裹的键值对的集合,每个键值对用冒号“:”分隔,每个键值对之间用逗号“,”分隔。字典中的“键”可以是整数、实数、复数、字符串、元组等任意的不可变数据,可变对象列表、集合、字典不能作为字典的“键”。4.3.1字典的创建和删除

1.字典的创建字典最常见的创建方法是使用一对花括号“{}”括起来并使用冒号“:”分隔一个键值对的“键”和“值”,用逗号“,”分隔不同键值对。需要注意的是,键必须是唯一的不可变数据类型。另一种创建字典的方式是使用dict()函数创建字典。4.3.1字典的创建和删除

示例:dict1={'广信股份':19.12,'信达证券':20.95}print(dict1)keys=['京城股份','华鑫股份','英科再生']values=['12.85','13.64','24.38']dict2=dict(zip(keys,values))#通过已有数据快速创建字典,zip()可将多个列表或元组对应位置的元素组合成元组并返回zip对象print(dict2)dict3=dict(创业环保=6.10,汇通能源=17.98)print(dict3)dict4={}#创建空字典print(dict4)dict5=dict()#创建空字典print(dict5)

输出:{'广信股份':19.12,'信达证券':20.95}{'京城股份':'12.85','华鑫股份':'13.64','英科再生':'24.38'}{'创业环保':6.1,'汇通能源':17.98}{}{}4.3.1字典的创建和删除

2.字典的删除当不再使用已创建的字典时,可以使用del语句删除整个字典。示例:dict6={'瑞丰银行':5.68,'三峰环境':7.59}print(dict6)deldict6print(dict6)输出: {'瑞丰银行':5.68,'三峰环境':7.59}NameError:name'dict6'isnotdefined4.3.2字典元素的访问

使用字典的“键”返回其对应的“值”,把相应的“键”放入方括号中即可返回该“键”对应的“值”。

使用get()方法可获取指定“键”对应的“值”

使用items()方法可返回字典的键值对列表

使用keys()方法可返回字典的“键”,使用values()可返回字典的值示例:dict7=dict(长沙银行=8.35,际华集团=2.95)print(dict7['长沙银行'])print(dict7.get('际华集团'))print(dict7.items())print(dict7.keys())print(dict7.values())dict8=dict(西安银行=3.74,华强科技=20.39)foritemindict8.items():

print(item)forkey,valueindict8.items():

print(key,value)

输出:8.352.95dict_items([('长沙银行',8.35),('际华集团',2.95)])dict_keys(['长沙银行','际华集团'])dict_values([8.35,2.95])('西安银行',3.74)('华强科技',20.39)西安银行3.74华强科技20.394.3.2字典元素的访问

4.3.3字典的常用方法

字典元素的添加,直接为要添加的键赋值。字典元素的修改,直接为要修改的键重新赋值。元素的删除,del命令除了可以删除整个字典,也可以删除字典中的某个键值对;pop()函数可获取指定键的值然后删除这个键值对;popitem()函数可返回并删除字典中最后一个键值对;clear()函数可用于清空所有的键值对。示例:dict9=dict(保利发展=13.98,汇通能源=17.99,福成股份=6.7,三生国健=19.00,)dict9['珠江股份']=4.49print(dict9)dict9['汇通能源']=17.98print(dict9)4.3.3字典的常用方法

deldict9['福成股份']print(dict9)dict9.pop('保利发展')print(dict9)dict9.popitem()print(dict9)dict9.clear()print(dict9)输出:{'保利发展':13.98,'汇通能源':17.99,'福成股份':6.7,'三生国健':19.0,'珠江股份':4.49}{'保利发展':13.98,'汇通能源':17.98,'福成股份':6.7,'三生国健':19.0,'珠江股份':4.49}{'保利发展':13.98,'汇通能源':17.98,'三生国健':19.0,'珠江股份':4.49}{'汇通能源':17.98,'三生国健':19.0,'珠江股份':4.49}{'汇通能源':17.98,'三生国健':19.0}{}集合044.4集合集合是一个无序的不重复序列,同一集合中的元素不能重复。集合中的所有元素被一对花括号“{}”包裹。集合之间能够进行交集、并集、差集等一些常见的集合操作。4.4.1集合的创建和删除1.集合的创建集合的常见方法是使用一对花括号“{}”括起来并使用逗号分隔不同元素。另一种创建集合的方式是使用set()函数创建集合。需要注意的是,创建一个空集合时必须使用set()函数创建,因为使用一对花括号“{}”创建的是一个空字典。4.4.1集合的创建和删除示例:set1={}set2=set()set3={'a','b','c','d'}set4=set(['e','f','g','h'])set5=set('ijkl')print(type(set1))print(type(set2))print(set3)print(set4)print(set5)

输出:<class'dict'><class'set'>{'c','b','d','a'}{'f','h','g','e'}{'k','i','l','j'}4.4.1集合的创建和删除2.集合的删除当不再使用已创建的集合时,可以使用del语句删除整个集合。示例:set6={'a','b','c','d'}print(set6)delset6print(set6)

输出:{'c','b','d','a'}NameError:name'set6'isnotdefined4.4.2集合的遍历关于集合的遍历,可以通过使用for循环或者将集合转换成列表再遍历,也可以使用enumerate()遍历集合。示例:set7={'a','b','c','d'}#使用for循环遍历foriteminset7:print(item)set8={'e','f','g','h'}#转换成列表再遍历foriteminlist(set8):print(item)#使用enumerate()遍历foriteminenumerate(set7):print(item)输出:cbdafhge(0,'c')(1,'b')(2,'d')(3,'a')4.4.3集合的常用方法1.集合元素的增加可以使用add()或者update()增加集合中的数据,其中,update()方法中的参数可以是多个列表、元组、字典等。示例:set9={'a','b','c','d'}print(set9)set9.add('e')print(set9)set9.update({1,2})print(set9)set9.update([2,3],[3,4])print(set9)输出:{'c','b','d','a'}{'c','d','a','b','e'}{'c','d',1,2,'a','b','e'}{'c','d',1,2,3,4,'a','b','e'}4.4.3集合的常用方法2.集合元素的删除可以使用remove()方法移除集合中的元素,元素不存在时会报错;使用discard()方法移除集合中的元素,元素不存在不会报错;使用pop()方法可删除集合中的任一个元素并返回该元素的值,不能指定要删除哪个元素;使用clear()元素可以清空集合,使其变为空集。示例:set10={'a','b','c','d','e'}print(set10)set10.remove('a')print(set10)set10.discard('c')print(set10)set10.pop()print(set10)set10.clear()print(set10)输出:{'c','d','a','b','e'}{'c','d','b','e'}{'d','b','e'}{'b','e'}set()4.4.3集合的常用方法3.集合元素的修改由于集合是无序的,所以要实现集合元素的修改可以通过先删除元素后添加元素的方式实现修改。集合的其他常用函数和方法见表4-3。表4-3集合的其他常用函数和方法函数或方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论