《(13)--13 第十三讲 Python数据挖掘元组与集合.ppt》由会员分享,可在线阅读,更多相关《(13)--13 第十三讲 Python数据挖掘元组与集合.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、元组元组例例1:给定一系列数字,找到最大与最小数。:给定一系列数字,找到最大与最小数。采用列表存储采用列表存储一系列一系列数字;数字;将列表作为函数参数;将列表作为函数参数;用用max()和和min()求最大最小值;求最大最小值;返回。返回。元组元组元组与列表类似,但属于元组与列表类似,但属于不可变不可变序列。序列。元组的定义方式与列表相同,只是将所有元素放在一元组的定义方式与列表相同,只是将所有元素放在一对对圆括号圆括号中。中。a_tuple=(a,b,apple,z,peach)a=(3)#a是一个变量是一个变量a=(3,)#a是一个元组是一个元组a=3,#a是一个元组是一个元组a=()#
2、空元组空元组方法方法说明明lst.append(x)将元素将元素x添加至列表添加至列表lst尾部尾部lst.extend(L)将列表将列表L中所有元素添加至列表中所有元素添加至列表lst尾部尾部lst.insert(index,x)在列表在列表lst指定位置指定位置index处添加元素添加元素x,该位置后面的位置后面的所有元素后移一个位置所有元素后移一个位置lst.remove(x)在列表在列表lst中中删除首次出除首次出现的指定元素,的指定元素,该元素之后的元素之后的所有元素前移一个位置所有元素前移一个位置lst.pop(index)删除并返回列表除并返回列表lst中下中下标为index(默
3、(默认为-1)的元素)的元素lst.clear()删除列表除列表lst中所有元素,但保留列表中所有元素,但保留列表对象象lst.count()返回指定元素返回指定元素x在列表在列表lst中出中出现的次数的次数lst.reverse()对列表列表lst所有元素所有元素进行逆序行逆序元组、字符串、列表的相互转换元组、字符串、列表的相互转换s=abcdefga=tuple(s)b=list(s)b=-1,-4,6,7.5a=tuple(b)c=list(a)s1=.join(c)元组的访问速度快元组的访问速度快元组相当于对不允许元组相当于对不允许被修改的数据进行写被修改的数据进行写保护。保护。例例2
4、:建立一个代表星期的元组表,输入一个:建立一个代表星期的元组表,输入一个0-6的的整数,输出对应的星期名称。整数,输出对应的星期名称。定义一个函数定义一个函数fweek(n)定义一个元组定义一个元组week,存储星期的名称;,存储星期的名称;如果如果n=0且且n=6,则返回对应的星期名;否则,返回,则返回对应的星期名;否则,返回不存在的错误提示。不存在的错误提示。例例2:建立一个代表星期的元组表,输入一个:建立一个代表星期的元组表,输入一个0-6的的整数,输出对应的星期名称。整数,输出对应的星期名称。例例3:设计一个通用的最大值函数,它可以计算给定:设计一个通用的最大值函数,它可以计算给定的任
5、意多个数的最大值。的任意多个数的最大值。输入:输入:2,3,1,5,7输出:输出:7输入:输入:1,2,3输出:输出:3集合集合例例4:给定列表,提取出列表中的不重复的元素。:给定列表,提取出列表中的不重复的元素。输入:输入:1,1,2,3,4,3,2输出:输出:1,2,3,4输入:输入:1,1,1,2,2,2输出:输出:1,2集合集合集合是包含一组唯一值的容集合是包含一组唯一值的容器,用器,用来表示。来表示。不以任何特定顺序存储,不不以任何特定顺序存储,不能通过位置进行访问。能通过位置进行访问。因为无需维护特定的顺序,因为无需维护特定的顺序,集合操作和等价的列表操作集合操作和等价的列表操作相
6、比要快得多。相比要快得多。set()set(s)是将是将s转换转换为可变集合,为可变集合,s可可为字符串、列表、为字符串、列表、元组、字典等。元组、字典等。采用采用a=set()创建创建空集合,不能用空集合,不能用a=来创建。来创建。增加和删除元素增加和删除元素aset.add(e):将元素:将元素e加入到加入到aset集合中。集合中。aset.remove(e):如果:如果aset中存在元素中存在元素e,则将,则将e移移除,除,否则抛出错误信息。否则抛出错误信息。aset.discard(e):如果:如果aset中存在元素中存在元素e,则将,则将e移除,移除,否则什么也不做。否则什么也不做。
7、aset.pop():删除:删除aset中第一个元素。中第一个元素。aset.clear():删除:删除aset中的所有元素,只剩空集合。中的所有元素,只剩空集合。len(aset):返回集合:返回集合aset中元素的个数。中元素的个数。例例5:随机生成:随机生成100个个0,100范围内的自然数,将包范围内的自然数,将包含的数字从小到大排列后输出,同种元素只输出一含的数字从小到大排列后输出,同种元素只输出一次。次。随机生成随机生成100个自然数,存入列表个自然数,存入列表aImport random,randint(0,100)或者或者random(101)去除重复元素去除重复元素b=set
8、(a)排序输出排序输出sorted(b)例例6:给定班级学生名单:给定班级学生名单Zhang,Li,Zhao,Wang,Yuan,Hao,判断某些学生是否为本班学生。判断某些学生是否为本班学生。输入:输入:Zhao,Hao输出:输出:Yes输入:输入:Wang,Yang,Li输出:输出:False用用in和和not in访问集合中的元素。访问集合中的元素。子集子集aset.issubset(bset):判断:判断aset是否为是否为bset的子集,的子集,如果是,返回如果是,返回True,否则,返回,否则,返回False。使用使用=测试两个集合是否相等测试两个集合是否相等使用使用!=测试两个集
9、合是否不相等?测试两个集合是否不相等?常用集合运算常用集合运算操作操作描述描述示例示例S|T或或S.union(T)计算集合算集合S与与T的并集的并集S=1,2,3T=2,3,4S|T=1,2,3,4S.union(T)=1,2,3,4S&T或或S.intersection(T)计算两集合的交集算两集合的交集S&T=2,3S.intersection(T)=2,3S-T或或S.difference(T)计算算T对S的相的相对补集集S-T=1T-S=4ST计算两集合的算两集合的对称差称差ST=1,4例例7:输入一段英文文章,求其长度,求出其中包:输入一段英文文章,求其长度,求出其中包含多少个不一样的单词。含多少个不一样的单词。输入:输入:I have a kind family;I love my Mom,I love my Dad!arent you?Mom always said:I love you too.输出:输出:The length of the article is 97.The number of words in this article is 14.作业随机产生随机产生100个个0,100之间的整数,判断里面包含之间的整数,判断里面包含多少个不一样的个位数?多少个不一样的个位数?