元组也列表十分类似,很多列表中的操作一样可以用于元素。例如通过len()获得元组的长度,通过下标取值,用于for循环,切片等。
创建元组
创建空元组有两种方式,如下所示:
>>> names1 = ()
>>> names2 = tuple()
创建带值的元组可以通过如下方式:
>>> names = ('mike', 'jack', 'lucy')
>>> score = (100, 80, 90)
需要注意的是,如果创建的元组只包含一个值,那么这个值后面需要加上逗号。
>>> score1 = (100) # score1是一个整型值100
>>> score1
100
>>> score2 = (100,) # score2是一个元组,元组中只有一个值100
>>> score2
(100,)
不可变数据类型
元组与列表的区别是元组创建后无法添加、删除、修改元素,如果尝试取修改则会报错TyeError。
>>> names = ('mike', 'jack', 'lucy')
>>> names[1] = 'bob'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>
虽然不能直接修改元组中的值,但是我们可以通过切片或者拼接元组的方式构造一个新元组。
>>> score1 = (100, 95, 90, 85, 80)
>>> score2 = (60, 65, 70, 75, 80)
>>> score1[:2] # 获取切片
(100, 95, 90)
>>> score1[1:-1]
(95, 90, 85)
>>> score3 = score1 + score2 # 拼接元组
>>> score3
(100, 95, 90, 85, 80, 60, 65, 70, 75, 80)
>>> score4 = score1[1:3] + score2[2:] # 拼接切片
>>> score4
(95, 90, 70, 75, 80)
元组和列表相互转化
可以通过list()将元组转化为列表,也可以通过tuple()将列表转化为元组。
>>> score1 = [100, 95, 90, 85, 80] # score1为列表
>>> tuple(score1) # 将score1转化为元组
(100, 95, 90, 85, 80)
>>> score2 = (60, 70, 80)
>>> list(score2)
[60, 70, 80]








网友评论