300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > pythontuple数据类型_Python基础教程2d–数据类型-tuple(元组)

pythontuple数据类型_Python基础教程2d–数据类型-tuple(元组)

时间:2021-01-19 16:05:02

相关推荐

pythontuple数据类型_Python基础教程2d–数据类型-tuple(元组)

1定义

tuple(元组)也是一种顺序结构的数据类型,定义一个空元组的方法用英文小括号:

变量名=()

t = ()

定义一个包含了多个元素的元组在小括号中用逗号分隔开各个元素:

源码print(‘\n定义tuple类型:’)

t1 = (1,2,3,4) #定义了一个包含4个整型数据的元组

t2 = (1.1,2.2,3.3,4.4,5.5) #定义一个包含5个浮点数据的元组

t3 =(‘www’,’juzicode’,’com’) #定义一个包含了3个字符串数据的元组print(‘t1:’,t1)

print(‘t2:’,t2)

print(‘t3:’,t3)

结果定义tuple类型:

t1: (1, 2, 3, 4)

t2: (1.1, 2.2, 3.3, 4.4, 5.5)

t3: (‘www’, ‘juzicode’, ‘com’)

前面的定义中元组元素都是同一种数据类型,也可以定义包含了多种数据类型的元组:

源码print(‘\n定义tuple类型包含多类型元素:’)

t1 = (1,2.2,’’) #定义了一个包含3个混合元素的元组

print(‘t1:’,t1)

结果定义tuple类型包含多类型元素:

t1: (1, 2.2, ‘’)

定义tuple的时候,tuple中还可以嵌套tuple:

源码print(‘\n定义tuple类型包含多类型元素和元组的元组:’)

t1 = (1,2.2,’’,(1,2,3)) #定义了一个包含3个混合元素加一个元组的元组print(‘t1:’,t1)

结果定义tuple类型包含多类型元素和元组的元组:

t1: (1, 2.2, ‘’, (1, 2, 3))

在tuple中包含字典,集合,列表这些数据类型。

2计算tuple长度

计算tuple长度就是计算tuple中包含元素的个数,使用的函数为len(),和计算字符串长度的函数是一样。

源码print(‘\n计算tuple长度:’)

t1 = (1,2,3,4) #定义了一个包含4个整型数据的元组

t2 = (1.1,2.2,3.3,4.4,5.5) #定义一个包含5个浮点数据的元组

t3 =(‘www’,’juzicode’,’com’) #定义一个包含了3个字符串数据的元组print(‘t1:’,t1)

print(‘t2:’,t2)

print(‘t3:’,t3)

print(‘t1长度:’,len(t1))

print(‘t2长度:’,len(t2))

print(‘t3长度:’,len(t3))

结果计算tuple长度:

t1: (1, 2, 3, 4)

t2: (1.1, 2.2, 3.3, 4.4, 5.5)

t3: (‘www’, ‘juzicode’, ‘com’)

t1长度: 4

t2长度: 5

t3长度: 3

从上面的例程可以看出len()函数计算的是tuple元素的个数,在字符串tuple中并不是获取到这3个字符串元素的总字符个数。

【实验】思考并动手实验下,t1 = (1,2.2,’’,(1,2,3)) 这种tuple中包含tuple,像这个tuple长度会是多少,计算出来的长度是否会将tuple内部的tuple拆分出来呢?

3索引-使用tuple元素

因为tuple是一种有序储存的数据类型,可以像字符串那样根据下标索引查找元素,其下标是从0开始编号的,比如t1 = (1,2.2,’’,(1,2,3))这个tuple,其第0个元素t1[0]是1,第1个元素是2.2,第2个元素是’’,第3个元素是(1,2,3),可以这么使用:

源码print(‘\n下标索引使用tuple:’)

t1= (1,2.2,’’,(1,2,3))#定义了一个包含3个混合元素加一个元组的元组print(‘t1:’,t1)

print(‘t1[0]:’,t1[0])

print(‘t1[1]:’,t1[1])

print(‘t1[2]:’,t1[2])

print(‘t1[3]:’,t1[3])

结果下标索引使用tuple:

t1: (1, 2.2, ‘’, (1, 2, 3))

t1[0]: 1

t1[1]: 2.2

t1[2]:

t1[3]: (1, 2, 3)

如果索引值大于其长度,将会出现IndexError错误,提示索引值超出了范围:

tuple的索引值也可以类似字符串,使用负数索引值,-1表示最后一个元素,以此类推:

源码print(‘\n负值下标索引使用tuple:’)

t1= (1,2.2,’’,(1,2,3))#定义了一个包含3个混合元素加一个元组的元组

print(‘t1:’,t1)

print(‘t1[-1]:’,t1[-1])

print(‘t1[-2]:’,t1[-2])

print(‘t1[-3]:’,t1[-3])

print(‘t1[-4]:’,t1[-4])

结果负值下标索引使用tuple:

t1: (1, 2.2, ‘’, (1, 2, 3))

t1[-1]: (1, 2, 3)

t1[-2]:

t1[-3]: 2.2

t1[-4]: 1

4切片

tuple的切片和字符串的切片使用方法是一样的,请参考/archives/182中字符串切片的内容:

源码print(‘\ntuple切片:’)

t2= (0,1,2,3,4,5,6,7,8,9,10)

print(‘t2:’,t2)

print(‘t2[5:8]:’,t2[5:8])

结果tuple切片:

t2: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

t2[5:8]: (5, 6, 7)

5在tuple中添加元素或者修改值

不好意思,没有这种骚操作,真要有这种操作,tuple的用处与list就完全重叠了。tuple定义后是不可以修改的,这里我们假设要修改t2= (0,1,2,3,4,5,6,7,8,9,10)的第3个元素的值,发现抛异常了,提示TypeError,tuple类型是不支持再赋值的。

【实验】tuple是否可以向list一样append和extend?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。