Python 元组详解(tuple)
文章目录
- 1 概述
- 1.1 性质
- 1.2 下标
- 1.3 切片
- 2 常用方法
- 2.1 访问:迭代、根据下标
- 2.2 删除:del
- 2.3 运算符:+、*
- 2.4 计算元组中元素个数:len()
- 2.5 返回元组中元素最大值:max()
- 2.6 返回元组中元素最小值:min()
- 2.7 将列表转换为元组:tuple()
- 2.8 返回元素第一次出现的索引:index()
- 2.9 返回元素出现的次数:count()
1 概述
1.1 性质
- 有序。元素按照下标顺序排列
- 可重复。元素可以重复
- 不可变。元素不可被修改
元组 和 列表 类似。最大的区别在于 元组不可变 而 列表可变
总结:元组最大的特点:不可变(元素不可被修改)
tup1 = ('a', 'a', 'b', 1, 2, 3)
print(type(tup1)) # <class 'tuple'>
# 示例:有序、可重复
for i in tup1:
print(i, end=' ') # a a b 1 2 3
# 示例:不可变(不可被修改)
tup1[0] = 'x' # 报错
1.2 下标
元组元素 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
正向下标 | 0 | 1 | 2 | 3 | 4 |
反向下标 | -5 | -4 | -3 | -2 | -1 |
tup1 = (1, 2, 3, 4, 5)
print(tup1[0]) # 1
print(tup1[-1]) # 5
1.3 切片
- 格式:
[start_index: end_index: step]
,其中参数描述如下: start_index:
起始索引(包含该索引本身),默认 0end_index:
终止索引(不包含该索引本身),默认一直取完数据step:
步长,默认 1。若为 正数,则表示正向下标,反之负向下标
tup1 = (1, 2, 3, 4, 5)
print(tup1[0:4:1]) # (1, 2, 3, 4)
print(tup1[1::2]) # (2, 4)
print(tup1[::-1]) # (5, 4, 3, 2, 1)
2 常用方法
2.1 访问:迭代、根据下标
- 元组可以使用下标索引来访问元组中的值
tup1 = (1, 2, 3, 4, 5)
# 方式1:迭代
for i in tup1:
print(i, end=' ')
print()
print('------------------')
# 方式2:指定下标
print(tup1[0])
2.2 删除:del
- 元组中的元素值是不允许被删除的(性质:不可变),但可以使用 del 语句删除整个元组
tup1 = ('a', 'b', 'c', 'd')
print(f'删除前:{tup1}')
del tup1
print(f'删除后:{tup1}')
# NameError: name 'tup1' is not defined
2.3 运算符:+、*
- 与字符串一样,元组之间也可以使用 + 号 和 * 号进行运算。
expr = (1, 2, 3) + (4, 5, 6)
print(f'组合元素:{expr}')
# 组合元素:(1, 2, 3, 4, 5, 6)
expr = ('Hi',) * 4
print(f'复制元素:{expr}')
# 复制元素:('Hi', 'Hi', 'Hi', 'Hi')
expr = 3 in (1, 2, 3)
print(f'判断元素是否存在:{expr}')
# 判断元素是否存在:True
2.4 计算元组中元素个数:len()
tup1 = (1, 2, 3)
print(f'元组的个数是:{len(tup1)}')
# 元组的个数是:3
2.5 返回元组中元素最大值:max()
tup1 = (1, 2, 3)
tup2 = ('a', 'b', 'c')
print(f'tup1 的最大值是:{max(tup1)}') # 3
print(f'tup2 的最大值是:{max(tup2)}') # c
2.6 返回元组中元素最小值:min()
tup1 = (1, 2, 3)
tup2 = ('a', 'b', 'c')
print(f'tup1 的最大值是:{min(tup1)}') # 1
print(f'tup2 的最大值是:{min(tup2)}') # a
2.7 将列表转换为元组:tuple()
list1 = [1, 2, 3]
tup1 = tuple(list1)
print(tup1) # (1, 2, 3)
print(type(tup1)) # <class 'tuple'>
2.8 返回元素第一次出现的索引:index()
tup1 = (1, 2, 3, 1, 1)
index1 = tup1.index(1)
print(f'第一次出现的索引:{index1}')
index1 = tup1.index(1, 1)
print(f'第一次出现的索引,下标从 1 开始算:{index1}')
2.9 返回元素出现的次数:count()
tup1 = (1, 2, 3, 1, 1)
count1 = tup1.count(1)
print(f'元素出现的次数是:{count1}')