元组
元组和列表相比,元组不可改变,且创建的时候逗号(,)才是元组的标志所在,小括号只是起一个补充作用,为了看起来好理解
1.创建元组
tuple2 = 1, 2, 3, 4
tuple2
(1, 2, 3, 4)
type(tuple2) # tuple 类型
tuple
tuple1 = (1, 2, 3, 4, 5)
tuple1
(1, 2, 3, 4, 5)
二.元组的访问和切片功能跟列表一样
tuple1[0]
1
tuple1[1]
2
tuple1[:5]
(1, 2, 3, 4, 5)
8 * (8,)# 将(8,)这个元组复制8份
(8, 8, 8, 8, 8, 8, 8, 8)
3.如果尝试修改元组的元素,会报错
tuple1[1] = 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-f329687894da> in <module>()
----> 1 tuple1[1] = 2
TypeError: 'tuple' object does not support item assignment
4.通过浅拷贝的方式,可以对元组的值进行"改变"
添加一个元素
temp = ("小鸟", "小鸭", "小鹅")
temp
('小鸟', '小鸭', '小鹅')
temp = temp[:2] + ("小鸡",) + temp[2:]
temp
('小鸟', '小鸭', '小鸡', '小鹅')
删除一个元素
temp = temp[:2] + temp[3:]
temp
('小鸟', '小鸭', '小鹅')
删除整个元组
del temp
temp
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-23-db4185758f4f> in <module>()
1 del temp
----> 2 temp
NameError: name 'temp' is not defined
以下功能称为元组解包
temp1 = (1, 2, 3)
temp2 = ('a', 'b', 'c')
for i , j in zip(temp1, temp2):
print(i, j)
1 a
2 b
3 c
5.元组的优势
1.元组占用的空间较小
2.不会意外修改元组的值
3.可以将元组用作字典的建