元组看起来犹如列表,但元组使用圆括号()而不是[]来标识,而且列表的元素可以修改,但元组的元素不能修改。
元组与列表很相似,两者之间的差别在于,列表在初始化后其中的元素还可以进行增删改等操作,但是元组在初始化后其中的元素不能进行更改,列表在赋值时使用方括号[],而元组在赋值时使用小括号()。因为元组具有不可变的特性,所以在能用元组替代列表的地方最好都使用元组,这样代码更安全。
元组是一个有序的序列,其中包括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)
网友评论