美文网首页
序列类型-元组的操作

序列类型-元组的操作

作者: 风清云淡Python | 来源:发表于2018-11-10 09:22 被阅读0次
共有操作
元组看起来犹如列表,但元组使用圆括号()而不是[]来标识,而且列表的元素可以修改,但元组的元素不能修改。
元组与列表很相似,两者之间的差别在于,列表在初始化后其中的元素还可以进行增删改等操作,但是元组在初始化后其中的元素不能进行更改,列表在赋值时使用方括号[],而元组在赋值时使用小括号()。因为元组具有不可变的特性,所以在能用元组替代列表的地方最好都使用元组,这样代码更安全。
元组是一个有序的序列,其中包括0或多个对象引用。与字符串类似,元组一经创建就不能替换或者删除,如果要修改内容,则可以使用list()转换函数将它转换成列表,如果要将列表或字符串转换成元组,则可以使用tuple()函数。元组采用逗号和圆括号(可选)来表示。利用元组类型不可变的特点,元组类型主要应用在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历中。
>>> a=1,2,3,4,5 #创建一个元组
>>> b=(“Apple”,”Orange”,”Pear”,”Peach”,”Grape”)
>>> a,b=b,a #多变量同步赋值,交换了a,b所引用对象
>>> a
(‘Apple’, ‘Orange’, ‘Pear’, ‘Peach’, ‘Grape’)
>>> b
(1, 2, 3, 4, 5)
创建元组

元组创建很简单,只需要在括号()中添加元素,元素之间用逗号隔开。元组中只包含单个元素时,需要在该元素后面添加逗号,例如:

`menu1 = ('meat','fish'.'chicken')`
`menu2 = ('meat',)`
访问元组

元组和列表一样,可以使用下标索引来访问元组中的值,例如:

menu = ('meat','fish','chicken','carrot')
print(menu[0])
print(menu[1:3])

输出结果:
meat
('fish', 'chicken')

修改元组

元组中的元素值是不可以修改的,如果强行修改会报错,例如如果我们想修改元组menu中的某个值:

menu = ('meat','fish','chicken','carrot')
menu[0] = 'pizza'
print(menu[0])

输出结果:

TypeError: 'tuple' object does not support item assignment

系统会自动报错,元组中的元素值不支持修改。

元组内置函数

元组和列表一样,都有一些内置函数方便编程。例如:

len(tuple):计算元组中元素个数。

max(tuple):返回元组中元素的最大值。

min(tuple):返回元组中元素的最小值。

tuple(seq):将列表转换为元组。

元组中的元素是不能改变的,它也没有append()insert()这样的方法。但其他获取元素的方法和列表是一样的。

任务1 元组的建立

从键盘输入两个字符串赋值给s1和s2,并建立元组t1,其值为(s1,s2)。输出t1的值。例如:输入ABC,123,则输出(ABC,123)`

  • 提示:创建一个元组只需使用逗号分隔多个值放入圆括号,元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义,如:x=(20,),表示建立了一个只有一个元素20的元组。

任务2 元组的拼接

输入一个整数与任务1中的 t1拼接形成一个新元组t2,例如:输入20,它作为t2中的最后一个元素,输出t2的值。例如:如果元组t1是("ABC","123"),则拼接后产生的新的元组t2的值是("ABC","123",20)

  • 提示:拼接运算符“+”,用于元组时,表示将两个元组拼接产生一个新的元组。

任务3 元组的重复

输入一个整数赋值给n,将t2重复n次输出,并将重复后的新元组赋值给t3。例如:输入2,t2的值是("ABC","123",20),则输出t3的值为:("ABC","123",20,"ABC","123",20)

  • 提示:重复运算符“*”,用于元组时,表示将元组元素重复n次,产生一个新的元组。
任务4 利用元组实现变量值的交换

将t1,t2和t3所存储的元组进行交换,t1存储原t2的值,t2存储原t3的值,t3存储原来t1的值。例如:假设经过任务1—任务3,t1,t2,t3的值分别为:t1=("ABC","123"),t2=("ABC","123",20), t3=("ABC","123",20,"ABC","123",20)
则交换后的结果
t1=("ABC","123",20)
t2=("ABC","123",20,"ABC","123",20)
t3=("ABC","123")

任务5 求元组的最值

令元组t4等于(12,32,33,24,35,26,47,568,69,1012),将元组的最大值ma与最小值mi求出,并将两个最值相加乘以t4元组长度得到结果t,将t加到t4的最末生成新的元组t5,输出新元组t5。

  • 提示:利用max(tup),min(tup)可以得到元组tup的最值,len()返回元组长度,此题t4由自己初始化,系统不提供测试样例。

测试说明
注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下:
输入测试数据:

ABC
123
20
2
输出测试结果:

('ABC','123')
('ABC','123',20)
('ABC','123',20,'ABC','123',20)
('ABC','123',20) ('ABC','123',20,'ABC','123',20) ('ABC','123')
(12,32,33,24,35,26,47,568,69,1012,10240)

相关文章

网友评论

      本文标题:序列类型-元组的操作

      本文链接:https://www.haomeiwen.com/subject/gjxzxqtx.html