【Python入门】Python中的元组tuple

1. 元组的介绍

元组:元组是不可变的序列,类似于列表,但创建后不能修改。

特点:

  • 可以存储不同类型的元素
  • 元素可以重复、有序、不可以修改(支持索引访问、切片)

定义:

python 复制代码
# 定义元组
元组名称 = (元素1,元素2,元素3,...)
# 示例
t1 = (3,2,4,6,5,98,80)

# 定义空元组
元组名称 = ()
元组名称 = tuple()
#示例
t2 = ()
t3 = tuple()

方法:

  • count():统计某元素在元组中出现的次数
  • index():查找某个元素在元组中的索引位置(第一次出现的位置)

代码示例即运行结果:

python 复制代码
# 定义元组
t1 = (3, 2, 4, 6, 5, 98, 6, 80)

print(t1)
print(type(t1))

# 索引访问
print(t1[0])
print(t1[-1])

# 切片
print(t1[0:4:1])

# count() 统计某个元素的个数
print(t1.count(6))

# index() 获取元素的索引,即元素出现的位置
print(t1.index(6))

# 定义空元组
t2 = ()

# 定义单个元素元组,需要在结尾加上逗号
t3 = (111,)

2. 组包与解包

组包:将多个值合并到一个容器(元组、列表)中。

解包:将容器(元组、列表)解开成独立的元素,分别赋值给多个变量。

代码示例及运行结果:

python 复制代码
# 定义元组,组包
t1 = (54, 24, 87, 56)

# 定义元组,组包
t2 = 54, 24, 87, 56

# 基础解包
q, w, e, r = t1
print(q, w, e, r)

# (*)扩展解包
a, *b, c = t2  # a为54,b为[24,87],c为56
print("打印输出a:", a)
print("打印输出b:", b)
print("打印输出c:", c)
p, *o = t2  # p为54,o为[24,87,56]
print("打印输出p:", p)
print("打印输出o:", o)
*h, d = t2  # h为[54,24,87],d为56
print("打印输出h:", h)
print("打印输出d:", d)

# 利用组包与解包实现两个数之间的值的交换
x = 30
y = 20

"""
省略的中间步骤:
t = y,x
x,y = t
"""
x, y = y, x
print("交换后x的值:", x)
print("交换后y的值:", y)

在元组解包时,*表示收集剩余的所有元素,允许我们处理不确定数量的元素(生成列表,以便于可以进行下一步的处理)

相关推荐
pride.li17 分钟前
第12章 Python 教程-流程控制:循环结构
linux·服务器·python·算法
鬼手点金35 分钟前
模型即 Agent:当模型本身成为产品
开发语言·前端·人工智能·python·机器学习
田里的水稻41 分钟前
PyTorch-Dataset\DataLoader数据加载
人工智能·pytorch·python
卷无止境1 小时前
Python 3.14 自由线程:拆掉 GIL 之后,我们到底得到了什么
后端·python
染指11101 小时前
147.Agent-LangGraph归并函数
开发语言·人工智能·python·langchain·agents
小白学大数据1 小时前
逆向分析短视频平台 a_bogus 参数:从 JavaScript 混淆到 Python 复现
javascript·python·音视频
外收内放1 小时前
数据分析(数据清洗)
python·学习·数据分析
小小张说故事1 小时前
Python 的 True + True 为什么等于 2?bool 是 int 子类,这个设计坑了多少人
python
神仙别闹2 小时前
基于Python实现自动化测试作业—图像增广方案
图像处理·python·计算机视觉
坊钰2 小时前
【LangGraph框架入门级】12. 人机交互:interrupt 中断与 Command 恢复
开发语言·数据库·python·人机交互·ai编程·langgraph