元组出现的原因
因为列表过分灵活多变,所以出现了元组。元组和列表最大的区别就是可以任意修改列表中的元素,可以任意插入或者删除一个元素,而对元组是不行的,元组是不可改变的(像字符串一样)。
创建和访问一个元组
元组创建
tuple = (1,2,3,4,5,6,7,8)
元组访问
元组访问与列表访问类似。
tuple = (1,2,3,4,5,6,7,8)
print(tuple[1])
print(tuple[5:])
print(tuple[:5])
输出为
2
(6, 7, 8)
(1, 2, 3, 4, 5)
切片
tuple2 = tuple[:]
tuple2
返回结果为:(1,2,3,4,5,6,7,8)
修改
元组无法修改,若尝试修改,则会报错!!!
元组的标志
元组的标志不是小括号,用一个例子来证明
temp = (8)
type(temp)
这里会返回int
其实,元组的标志符号是逗号(,),例如:
temp = 1,2,3,4
type(temp)
这里会返回tuple
但是如果想创建一个空元组,那么小括号就足够了。例如:
temp = ()
type(temp)
这里会返回tuple
如果创建的元组中只有一个元素,那么就在那个元素后面加逗号(,),例如:
temp1 = (1)
print(type(temp1))
temp2 = (1,)
print(type(temp2))
temp3 = 1,
print(type(temp3))
输出结果为:
<class 'int'>
<class 'tuple'>
<class 'tuple'>
下面再举一个例子
8 * (8)
8 * (8,)
第一个例子输出64,第二个例子输出(8, 8, 8, 8, 8, 8, 8, 8)
更新和删除元组
更新元组不能直接对元组本身做修改,但是可以通过拷贝现有的元素构造一个新的元组来解决。例如:
tuple = (1,2,4,5,6)
tuple = tuple[:2] + (3,) + tuple[2:]
print(tuple)
这里输出的就是(1,2,3,4,5,6)
注意,这里的逗号和小括号都是必须的。
下面展示如何删除元素:
tuple = (1,2,3,4,5,6)
tuple = tuple[:3] + tuple[4:]
print(tuple)
输出(1,2,3,5,6)
如果要删除整个元组,只需使用del语句就可以显式地删除一个元组,例如:
del tuple
其实在平时,很少会使用del去删除一个元组,因为Python的回收机制会在这个元组不再被使用的时候自动删除。