Python 元组详解(tuple)

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 下标

元组元素12345
正向下标 0 1234
反向下标-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}')
  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值