元组和列表的实际使用非常相似。我们通过讨论元组和列表到底有什么不同来学习元组。主要从以下几个方面来讨论:
********************** 1.创建和访问元组 *********************
创建列表使用的是中括号,而创建元组使用的是小括号。但二者的访问方式相同,都是采用中括号访问。
tuple1 = (1,2,3,4,5,6,7,8) #创建元组
print(tuple1[1]) #输出:2
print(tuple1[5:]) #输出:(6,7,8)
print(tuple1[:6]) #输出:(1,2,3,4,5,6)
和列表一样,元组也可以用切片操作进行拷贝。如:
tuple2 = tuple1[:]
print(tuple2) #输出:(1, 2, 3, 4, 5, 6, 7, 8)
如果要创建只有一个元素的元组,应该在该元组唯一的元素后加上逗号,否则该元组会被识别为整型(int)。但是数组不需要这样。示例:
temp = (1)
print(type(temp)) #输出:<class 'int'>
temp1 = (1,)
print(type(temp1)) #输出:<class 'tuple'>
temp2 = [1]
print(type(temp2)) #输出:<class 'list'>
temp3 = ()
print(type(temp3)) #输出:<class 'tuple'>
temp4 = []
print(type(temp4)) #输出:<class 'list'>
temp5 = 3,4,5
print(type(temp5)) #输出:<class 'tuple'>
print(8*(8)) #输出:64
print(8*(8,)) #输出:(8, 8, 8, 8, 8, 8, 8, 8)
上面的几个示例应该认真阅读。
********************** 2.更新和删除元组 *********************
由于元组中的元素不能修改,所以我们只能用切片以及拼接的方法来更新元组。
temp = ('白天','黑夜','星空','大海')
temp = temp[:2]+('银河',)+temp[2:] #注意:'银河'后一定要加上逗号!
print(temp)
实际上,字符串也可以通过上述方式来进行修改:
str1 = '我是湖水微澜,我正在学习python'
str1 = str1[:7]+'我对python很感兴趣,'+str1[7:]
print(str1) #输出:我是湖水微澜,我对python很感兴趣,我正在学习python
********************** 3.元组的作用 *********************
由于元组拥有内部元素不能被修改的特性,所有元组常常被用来作为向函数传递参数的容器,或者接收函数传递过来的参数的容器。这样可以保证这些参数不被外部接口所修改。所以元组在后台开发中的使用是十分频繁的。