tuple(元组)
tuple与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里,元素之间用逗号隔开。
下面我们下来看一下元组里的数据类型是如何的:
tup1 = () #创建空的元组
print(type(tup1))
tup2 = (50)
print(type(tup2))
运行结果如下:
<class 'tuple'>
<class 'int'>
可见 tup2 = (50) 不属于元组。
这里特别强调一下:当定义只有一个元素的元组时,末尾必须加逗号,否则将不是元组。
tup2 = (50,) #在只有几个数据的时候,后面要加 逗号 ,否则这将不是元组。
tup3 = (50,30,20) #多个数据时最后可以不加 逗号 ,依然表示元组
print(type(tup2),type(tup3))
运行结果如下:
<class 'tuple'> <class 'tuple'>
明白这些我们来看看对于元组来说,增删改查是怎么应用的。
1.增:
#增(连接)
tup1 = ("aa","bb","cc")
tup2 = (11,22,33)
tup = tup1 + tup2 #只是将两个元组相连接,并不是将一个元组的元素增进另一个元组当中。
print(tup)
运行结果如下:
('aa', 'bb', 'cc', 11, 22, 33)
2.删:
#删
tup1 = (11,22,33)
print(tup1)
del tup1 #删除了整个元组变量。(而非元组的某个元素)
print("删除后:")
print(tup1) #因为删除了整个元组,导致无法正常输出,从而报错。
运行结果如下:
(11, 22, 33)
删除后:
NameError: name 'tup1' is not defined
3.改:
#改
tup1 = (11,21,66)
tup1[0] = 100
print(tup1)
运行结果如下:
元组中的元素不允许更改,因此此次操作报错。
TypeError: 'tuple' object does not support item assignment
4。查:
#查
tup1 = ("111","222","333","444","555","666")
print(tup1[0])
print(tup1[-1]) #访问最后一个元素
print(tup1[1:5]) #区间依然是 左闭右开
运行结果如下:
111
666
('222', '333', '444', '555')