元组(Python)

目录

创建空元组

元组元素的访问

元组中的元素不能修改

删除元组 del

元组的合并、重复、判断

元组的切片

获取元组的长度

获取元组中的最大值和最小值

将其他数据类型转换为元组 tuple()

元组的遍历

多维元组


创建空元组

tup1 = ()
print(tup1)     # ()
print(type(tup1))   # <class 'tuple'>

元组中只有一个元素,一般要在元素后面加 逗号,

若不加,该数据类型不一定是元组,取决于元素的数据类型

tup2 = (12)
print(tup2)     # 12
print(type(tup2))  # <class 'int'>
tup3 = ('hello')
print(tup3)     # hello
print(type(tup3))   # <class 'str'>
tup4 = (12,)
print(tup4)  # (12,)
print(type(tup4))   # <class 'tuple'>

元组中的数据可以是不同的数据类型

tup5 = (1, 2, True, 'hello')
print(tup5)  # (1, 2, True, 'hello')

元组元素的访问

通过下标访问, 0下标表示第一个元素,-1下标表示最后一个元素

tup1 = (1, 2, True, 'hello')
print(tup5[0])  # 1
print(tup5[-1])  # hello

元组中的元素不能修改

tup1 = (1, 2, True, 'hello')
tup1[0] = 9     # 报错 'tuple' object does not support item assignment
print(tup1)

删除元组 del

tup1 = (1, 2, True, 'hello')
del tup1
print(tup1)  # NameError: name 'tup1' is not defined. Did you mean: 'tup2'?  报错,因为tup1已将删除了,即没有定义就访问会报错

元组的合并、重复、判断

tup1 = (12, 25, 66, True, 'pig')
tup2 = (23, 11, 25, False, 'dog')
# 合并元组  +
print(tup1 + tup2)  # (12, 25, 66, True, 'pig', 23, 11, 25, False, 'dog')
# 重复元组中的元素
print(tup1 * 2)     # (12, 25, 66, True, 'pig', 12, 25, 66, True, 'pig')
# 判断元素是否在元组中, 使用成员运算符 in 和 not in
print(12 in tup1)   # True
print(12 not in tup2)   # True

元组的切片

tup1 = (12, 25, 66, True, 'pig', 23, 11, 25, False, 'dog')
print(tup1[1:5])    # (25, 66, True, 'pig')
print(tup1[2:])     # (66, True, 'pig', 23, 11, 25, False, 'dog')
print(tup1[:7])     # (12, 25, 66, True, 'pig', 23, 11)
print(tup1[-4:])    # (11, 25, False, 'dog')
print(tup1[::-1])   # ('dog', False, 25, 11, 23, 'pig', True, 66, 25, 12)

获取元组的长度

tup1 = (12, 25, 66, 31, 90)
print(len(tup1))    # 5

获取元组中的最大值和最小值

# 获取元组中的最大值
print(max(tup1))    # 90
# 获取元素中的最小值
print(min(tup1))    # 12

将其他数据类型转换为元组 tuple()

list1 = [12, 34, 66, 24, True, 'hello']
print(list1)    # [12, 34, 66, 24, True, 'hello']
print(tuple(list1))  # (12, 34, 66, 24, True, 'hello')
print(type(tuple(list1)))   # <class 'tuple'>

元组的遍历

tup1 = (12, 25, 66, 31, 90)
# 第一种方式
for i in tup1:
    print(i)
# 第二种方式
for i in range(len(tup1)):
    print(tup1[i])
# 第三种方式
for k, v in enumerate(tup1):
    print(k, '========', v)

多维元组

tup1 = (1, 2, 4, True, (6, 7, 8, (11, 12, 15)), 0, 3)
print(tup1[3])  # True
print(tup1[4][1])   # 7
print(tup1[4][3][1])   # 12