第五章 元组

您所在的位置:网站首页 定义的函数没有参数时可以不使用圆括号 第五章 元组

第五章 元组

2023-06-29 11:52| 来源: 网络整理| 查看: 265

1. 【直接创建元组】() 语法参考

在Python中,可以直接通过小括号“()”创建元组 ,创建元组时,在小括号的内容放置由逗号分隔的元素。其语法格式如下:

tuplename = (element 1,element 2,element 3,…,element n)

参数说明:

tuplename:表示元组的名称,可以是任何符合Python命名规则的标识符;

elemnet 1、elemnet 2、elemnet 3、elemnet n:表示元组中的元素,个数没有限制,并且只要是Python支持的数据类型就可以。

注意:创建元组的语法与创建列表的语法类似,只是创建列表时使用的是“[]”,而创建元组时使用的是“()”。

锦囊1 通过“()”符号定义元组

通过“()”符号创建多种元组,并且使用“=”赋值给相应的变量,示例代码如下:

empty = () # 创建空列表 num = (7,14,21,28,35,42,49,56,63) # 创建数值元组 team= ('马刺','火箭','勇士','湖人') # 创建字符串类型元组 # 混合类型元组 untitle = ('Python',28,('人生苦短','我用Python'),['爬虫','自动化运维','云计算','Web开发']) print('数值元组:',num) print('字符串元组:',team) print('混合类型元组:',untitle) print('空元组:',empty) 锦囊2 不用括号定义元组

在Python中,虽然元组是使用一对小括号将所有的元素括起来,但是实际上,小括号并不是必需的,只要将一组值用逗号分隔开来,Python就可以认为它是元组。示例代码如下:

team= '马刺','火箭','勇士','湖人' # 不使用括号定义元组 print('不是使用括号来定义元组:',team) 锦囊3 定义单个元素的元组

如果要创建的元组只包括一个元素,则需要在定义元组时,在元素的后面加一个“,”。示例代码如下:

verse1 = ('世界杯冠军',) # 定义单个元素的元组 print('单个元素的元组:',verse1)

说明:在Python中,可以使用type()函数测试变量,或对象的类型。

2. 【删除元组】del 语法参考

元组中的元素是不允许被删除的,但是对于已经创建的元组不再使用时,可以使用del语句将其删除,其语法格式如下:

del tuplename

其中,tuplename为要删除元组的名称。

说明:del语句在实际开发时,并不常用。因为Python自带的垃圾回收机制会自动销毁不用的元组,所以即使我们不手动将其删除,Python也会自动将其回收。

示例

定义一个名称为team的元组,保存世界杯夺冠热门球队,这些夺冠热门球队在小组赛和第一轮淘汰赛后都被淘汰了,因此应用del语句将其删除,示例代码如下:

team = ('西班牙','德国','阿根廷','葡萄牙') # 定义元组 del team # 删除元组 3. 【查找元组元素是否存在】in 示例

in保留字在python中的应用非常广泛,在元组中同样可以实现查找元组元素是否存在。如果元组中存在要查找的元素返回True,否则返回False。例如,定义一个保存5个化学元素的元组,查找元组中是否含有“锰”元素和“铁”元素,可以使用下面的代码:

verse = ('钪', '钛', '钒', '铬', '锰') find1 = '锰' find2 = '铁' print(find1 in verse) # 判断元组中是否含有“锰”元素 print(find2 in verse) # 判断元组中是否含有“铁”元素 4. 【计算元组元素个数】len()函数 语法参考

在Python中,可以使用len()函数计算元组中元素的个数。其语法格式如下:

len(tuplename) 示例 tuple1 = (1,11,111,1111,11111) # 创建元素长度不同的元组 print('tuple1元组长度为:',len(tuple1)) # 打印tuple1元组长度 print('元组中指定元素范围的长度为:',len(tuple1[1:3])) # 打印tuple1元组指定元素范围的长度 # 创建星期英文元组 tuple2 = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday') # 打印tuple2元组中长度最大值 print('tuple2元组中元素长度最大为:',max(len(i)for i in tuple2)) # 打印tuple2元组中长度最大的元素 print('tuple2元组中长度最大的元素为:',max(tuple2,key=lambda i:len(i))) # 打印tuple2元组中长度最小的元素 print('tuple2元组中长度最小的元素为:',min(tuple2,key=lambda i:len(i))) # 创建国际旅游胜地前四名的二维元组 tuple3 = (('威尼斯',1),('阿姆斯特丹运河',2),('马尔代夫',3),('迪拜',4)) # 打印二维元组的长度 print('二维元组tuple3的长度为:',len(tuple3)) # 打印二维元组中旅游胜地名称最长的元组 print('旅游胜地名称最长的元组为:',max(tuple3,key = lambda i:len(i[0]))) 5. 【返回元组中元素最大值】max()函数 语法参考

在Python中,可以使用max()函数计算元组中元素的个数。其语法格式如下:

max(tuplename) 示例

例如,创建一个元组,然后应用max()函数找出元组中元素的最大值,可以使用下面的代码:

number = (4, 16, 36, 25, 9) print('元组:', number) print('元素最大值:', max(number)) # 月份、星期简写元祖 tuple2=('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec','Mon','Tues','Wed','Thur','Fri') # 输出tuple2的最大值(先比较元祖的第1个元素,如果相同,再比较第2个元素…) print(max(tuple2)) # 输出元祖中长度最大(即字符最多)的元祖 print(max(tuple2,key=lambda x:len(x))) # NBA球队成绩元祖 tuple3=('勇士 57','掘金 54','开推者 53','火箭 53','爵士 50','雷霆 49','马刺 48','快船 48') # 获取元祖后两项数据的最大值,即获胜场次取最大值 print(max(tuple3,key=lambda x:x[-2:])) # 电影信息元祖 tuple4=(('肖申克的救赎',1994,9.3),('教父',1972,9.2),('教父2',1974,9.1),('蝙蝠侠:黑暗骑士',2008,9.0),('低俗小说',1994,8.9)) # 按每个元祖的第2项取最大值,即出品年份 print(max(tuple4,key=lambda x:x[1])) # 按元祖的第3项(打分)取最大值,只输出最大值的第一个元素 print(max(tuple4,key=lambda x:x[2])[0]) tuple5=((90,128,87.103),(78,99,134.106),(98,102,133.80),(66,78,97,56),(98,123,88.79)) # 按照tuple5的第2项取最大值,然后在最大值中再取最大值 print(max(max(tuple5,key=lambda x:x[1]))) # 按照元祖的3项之和获取最大值 print(max(tuple5,key=lambda x:(x[0]+x[1]+x[2]))) # 按元祖第1项和第2项取最大值,第一项相同,比较第2项 print(max(tuple5,key=lambda x:(x[0],x[1]))) 6. 【返回元组中元素最小值】min()函数 语法参考

在Python中,可以使用min()函数计算元组中元素最小值。其语法格式如下:

min(tuplename) 示例

例如,创建一个元组,然后应用min()函数找出元组中元素的最小值,可以使用下面的代码:

number = (4, 16, 36, 25, 9) print('元组:', number) print('元素最小值:', min(number)) num = (7,14,21,28,35,42,49,56,63) # 创建一个数值元组 team= ('马刺','火箭','勇士','湖人') # 创建字符元组 print('num元组中的最小值为:',min(num)) print('team元组中的最小值为:',min(team)) # 英文名字元组 name = ('Jack','MacKenzie','Cal','Rainbo','Ralph','Abagael') print('英文名字元组中的最小值为:',min(name)) print('英文名字长度最小的是哪位:',min(name,key=lambda i:len(i))) # 学生成绩 fraction = ('数学 98','英语 99','语文 93') print('成绩最差的学科为:',min(fraction,key=lambda i:i[3:])[:3]) # 北、上、广、深GDP值 gdp = (('北京','30320亿'),('上海','32679亿'),('广州','23000亿'),('深圳','24620亿')) print('GDP值最低的是元组中下标为',gdp.index(min(gdp,key=lambda i:i[1][0:6])),'的那组数据') print('GDP值最低的城市为:',min(gdp,key=lambda i:i[1][0:6])[0]) 7. 【查找元组元素是否不存在】not in 示例

not in与in保留字相反,用于查找元组元素是否不存在。如果元组中不存在要查找的元素返回True,否则返回False。例如,定义一个保存5个水果元素的元组,查找元组中是否不含有“芒果”元素和“苹果”元素,可以使用下面的代码:

verse = ('苹果', '香蕉', '葡萄', '草莓', '哈密瓜') find1 = '芒果' find2 = '苹果' print(find1 not in verse) # 判断元组中是否不含有“芒果”元素 print(find2 not in verse) # 判断元组中是否不含有“苹果”元素 8. 【输出元组元素】print()函数 示例

在Python中,如果想将元组的内容输出也比较简单,可以直接使用print()函数即可。例如,定义一个名称为untitle的元组,想要打印该元组可以使用下面的代码:

# 定义元组 untitle = ('人生苦短','我用Python') print(untitle) # 打印元组

从上面的执行结果中可以看出,在输出元组时,是包括左右两侧的小括号的。如果不想要输出全部的元素,也可以通过元组的索引获取指定的元素。例如,要获取元组untitle中索引为0的元素,可以使用下面的代码:

print(untitle[0])

另外,对于元组也可以采用切片方式获取指定的元素。例如,要访问元组untitle中元素的“python”字符串时,可以使用下面的代码:

print(untitle[1][2:]) 9. 【将序列转换为元组】tuple()函数 语法参考

通过tuple()函数可以将一个序列作为参数,并将这个序列转换为元组。其语法格式如下:

tuple(seq)

参数说明:

seq:表示可以转换为元组的数据,其类型可以是range对象、字符串、列表、字典、元组或者其他可迭代类型的数据;如果参数是元组,参数则会被原样返回;

返回值:元组。如果不传入任何参数,将返回一个空元组。

锦囊1 将序列转换为元组

tuple()函数是以一个序列作为参数,并转换为元组,例如,创建一个10~20之间(不包括20)所有偶数的元组,可以使用下面的代码:

print(tuple(range(15, 30, 3))) # 将range对象转换为元组

使用tuple()函数时,不仅能通过range对象创建元组,还可以通过其他对象创建元组。如下面的代码:

print(tuple()) # 不传入参数,创建一个空元组 print(tuple('①②③④')) # 将字符串转换为元组 print(tuple(['㈠', '㈡', '㈢', '㈣'])) # 将列表转换为元组 print(tuple(('壹', '贰', '叁', '肆'))) # 参数为元组则原样输出

通过tuple()函数实现将序列转换为元组,示例代码如下:

print(tuple('Python')) # 参数为字符串 print(tuple(range(10, 20, 2))) # 创建一个10~20之间(不包括20)所有偶数的元组 print(tuple((89,63,100))) # 原样返回 锦囊2 将列表转换为元组

定义一个歌曲列表并进行元组转换,然后将原列表以及转换后的元组进行输出,示例代码如下:

list1=['Forever', 'I Need You', 'Alone', 'Hello'] # 英文歌曲列表 print('列表:',list1) # 输出英文歌曲列表 tuple1=tuple(list1) # 转换为元组 print('元组:',tuple1) # 输出元组 print('将列表中指定元素转换为元组:',tuple(list1[3])) print('将列元素范围转换为元组:',tuple(list1[1:])) 锦囊3 将字典转换为元组

定义一个保存好友的名称和生日的字典并输出,然后将原字典以及转换后的元组进行输出,代码如下:

# 定义的字典数据 dictionary={'小英子':'5月5日','阳光':'12月8日','茜茜':'7月6日',} print(dictionary) # 输出字典 print(tuple(dictionary)) # 转换为元组输出

提示:tuple()函数的参数为字典时,会返回字典的key组成的元组。如果需要将字典中的values()转换为元组时可以使用如下代码:

print(tuple(dictionary.values())) # 将字典中values转换为元组 锦囊4 将generator对象转换为元组

生成一个包含10个随机数的生成器对象,然后将其转换为元组并输出,代码如下:

import random # 导入random标准库 # 创建一个包含10个随机数的生成器对象 randomnumber = (random.randint(10,100) for i in range(10)) randomnumber = tuple(randomnumber) # 转换为元组 print('转换后:',randomnumber) # 输出转换后的元组


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3