本篇主要是对python中元组类型介绍、特性及操作进行整理。
目录
描述
一种有序集合,有限制的列表,不可变的序列。
特点
与列表非常相似;
一旦初始化就不能修改;
使用小括号
为什么元组不可变
将元组设计成不可变序列原因:
在多任务环境下,同时操作对象时不需要加锁
因此在程序中应尽量使用不可变序列
创建元组
格式:元组名 = (元组元素1, 元祖元素2, .... ,元组元素n)
一个元素的元组
示例如下:
t0 = (1,)
print(t0)
执行结果:
(1, )
元组元素的访问
格式:元祖名[下标]
下标从0开始
示例如下:
t1 = (1, 2, 3, 4, 5)
# 获取第一个元素
print(t1[0])
# 获取最后一个元素
print(t1[-1])
执行结果:
1
5
修改元组
直接修改,会报错,元组不可变。
示例如下:
t2 = (1, 2, 3, 4, 5)
t2[0] = 100
print(t2)
执行结果:
Traceback (most recent call last):
File "E:\lianxipy\day3\元组.py", line 27, in <module>
t2[0] = 100
TypeError: 'tuple' object does not support item assignment
元组里面的元素不可变,元组中元素若为可变字段则可变。
示例如下:
t3 = (1, 2, 3, 4, 5, [5, 6, 7])
t3[-1][0] = 100
print(t3)
执行结果:
(1, 2, 3, 4, 5, [100, 6, 7])
删除元组
使用del直接删除变量,删除后无法再被访问。
示例如下:
t4 = (1, 2, 3)
del t4
print(t4)
执行结果:
Traceback (most recent call last):
File "E:\lianxipy\day3\元组.py", line 38, in <module>
print(t4)
NameError: name 't4' is not defined
变量已删除,无法访问。
元组的操作
加法
会得到一个新的元组。
示例如下:
t5 = (1, 2, 3)
t6 = (4, 5, 6)
print(t5 + t6)
执行结果:
(1, 2, 3, 4, 5, 6)
乘法
会得到重复内容的新元组。
示例如下:
t7 = (1, 2, 3)
print(t7 * 3)
执行结果:
(1, 2, 3, 1, 2, 3, 1, 2, 3)
判断是否包含元素
使用关键字in来判断元组是否包含元素,返回结果为bool值。
示例如下:
t8 = (1, 2, 3)
print(3 in t8)
执行结果:
True
元组的截取
格式:元组名[开始下标:结束下标]
从开始下标开始截取,截取到结束下标之前。
示例如下:
t9 = (1, 2, 3, 4, 5, 6, 7, 8)
print(t9[3:6])
print(t9[3:])
print(t9[:6])
执行结果:
(4, 5, 6)
(4, 5, 6, 7, 8)
(1, 2, 3, 4, 5, 6)
二维元组
二维元组即:在原来一维元组值的位置还是一个元组。
示例如下:
t10 = ((1, 2), (3, 4), (5, 6))
print(t10[1][1])
执行结果:
4
元组的方法
len()
返回元组中的元素个数。
max()
返回元组中的最大值。
min()
返回元组中的最小值。
示例如下:
t11 = (1, 2, 3, 4, 5)
print(len(t11))
print(max(t11))
print(min(t11))
执行结果:
5
5
1
列表转成元组
直接使用tuple转化列表为元组。
示例如下:
list1 = [1, 2, 3]
t12 = tuple(list1)
print(t12)
执行结果:
(1, 2, 3)
元组的遍历
for循环进行遍历。
示例如下:
for i in (1, 2, 3, 4, 5, 6, 7, 8, 9):
print(i)
执行结果:
1
2
3
4
5
6
7
8
9
总结
本篇主要是对python中元组类型介绍、特性及操作进行整理。