文章目录

  • 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: 起始索引(包含该索引本身),默认 0
  • end_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}')