Python 元组( tuple )它和list列表类似,唯一的差别是元组不能修改。tuple 元组是有序的,一旦定义了元组我们就不能修改它。

一、定义元组

tuple 元组定义使用小括弧 ( ), list 列表使用中括弧 [ ] .

l = [Google, woodman, 1987, 2017]
t1 = (Google, woodman, 1987, 2017, woodman)
t2 = (1, 2, 3, 4)
t3 = (a, b, c)
t4 = (woodman) # 无逗号
print(type(t4)) # t4位str类型
t4 = (woodman,) # 当我们定义元组只有一个值时不要忘记后面的逗号
print(type(t4))
t5 = (woodman, 2017, l, t2) # 元组中可以包含列表和元组
t6 = () # 定义空元组

注意:元组中可以包含 list 列表,元组中 list 列表的值时可变的;定义元组只有一个值时,要在后面加上逗号。

二、访问元组

元组可以使用下标索引来访问元组中的值,索引号从0开始。

t = (Google, woodman, 1987, 2017, woodman)

print(t[0]) # 访问第1个值print(t[2]) # 访问第3个值

print(t[-1]) # 访问倒数第1个值

print(t[5]) # 下标索引号越界会抛出 IndexError 异常

三、修改元组

tuple 元组不可以修改

t1 = (Google, woodman)
t2 = (1987, 2017, woodman)
# 我们可以同过元组相加创建一个新元组
t = t1 + t2
print(t)
t1[0] = zhihu # 会抛出TypeError异常,元组不可修改

四、删除元组

tuple 元组中的元素值是不允许删除,但我们可以使用del语句来删除整个元组

t = (Google, woodman, 1987, 2017, woodman)
del t
print(t) # 元组被删除,抛出NameError异常

五、元组切边

tuple 元组可以像 list 列表一样进行切片

l = (Google, woodman, 1987, 2017, a, 1, 2, 3)
print(l[0:2]) # 第1到第2个
print(l[2:15]) # 2到15个,注意如果结束位超过元组长度不会报错

# 通过步长切片
print(l[0:4:2]) # 每2个数去1个,从第1到第4个
# 输出 [Google, 1987]
print(l[2::3]) # 从第3个取,每3个取一个,取到结尾
# 输出 [1987, 1]

# 花式用法
print(l[:3]) # 从开始到tuple第3个元素
print(l[1:]) # 从第二个到tuple结束
print(l[:]) # 获得一个与l相同的tuple
print(l[-1]) # 取倒数第一个元素
print(l[::-1]) # tuple倒叙
print(l[-3:-1]) # 倒数第三个到第二个
print(l[-4:-1:2]) # 从倒数第4个每2个取一个,到倒数第二个

六、元组的运算

l1 = (1, 2, 3) + (a, b, c) # 连接
print(l1)
l2 = (Hello!,) * 4 # 重复复制
print(l2)
bool1 = a in l1 # 元素是否存在
print(bool1)

七、常用函数

len(tuple) 计算元组元素个数

max(tuple) 返回元组中元素最大值

min(tuple) 返回元组中元素最小值

tuple(list) 将列表转换为元组

t = (Google, woodman, 1987, 2017, a, 1, 2, 3)
print(len(t)) # 列表元素个数
t1 = (aA, bss, Ad)
print(max(t1)) # 返回元组中元素最大值,t1元组值必须是同类型
t2 = (6, 2, 3, 5, 1)
print(min(t2)) # 返回元组中元素最小值,t2元组值必须是同类型
l = [1987, 2017, a, 1, 2, 3]
print(tuple(l)) # 将元组转换为列表

八、常用方法

t = (Google, woodman, 1987, 2017, a, 1, woodman, a, 1)
print(t.count(a)) # 统计元素在元组中的个数
print(t.index(a)) # 返回元素在元组中第一次出现的索引号

推荐阅读:

相关文章