python元组

创建元组

元组的创建使用小括号()

创建空元组:tuple()

可以使用tuple()函数和range()函数来生成数值元组。

注意:当元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。

python 复制代码
tuple1=(12,)

tuple2=tuple(range(10))

访问元组

1.使用下标索引

2.使用切片的方式

3.使用for循环实现元组遍历

python 复制代码
tuple1=('apple','orange','kiwi')

print(tuple1[0])

print(tuple[:2])

for i in tuple1:
    print(i)

修改元组

元组中的元素值不允许修改

但是元组可以进行连接组合,或对元组进行重新赋值来改变元组的值

python 复制代码
tuple1=(1,2,3,4,5)
tuple2=(6,7,8,9)
tuple3=tuple1+tuple2
print(tuple3)

tuple1=(3,4,5)
print(tuple1)

#(1, 2, 3, 4, 5, 6, 7, 8, 9)
#(3, 4, 5)

删除元组

无法删除元组中的部分元素,只能用del命令删除整个元组

元组推导式

使用元组推导式生成元组时,要在前加上tuple()

python 复制代码
tuple1=(x for x in range(10))
print(tuple1)

#<generator object <genexpr> at 0x000001AEB12C4E80>

tuple1=(x for x in range(10))
print(tuple(tuple1))

#(0,1,2,3,4,5,6,7,8,9)

元组常用内置函数

len(tuple) 计算元组中元素个数

max(tuple) 返回元组中的最大值

min(tuple) 返回最小值

tuple(seq) 将列表转换成元组

元组与列表的区别

1.列表属于可变序列,元组属于不可变序列,不能添加删除元素

2.两者都支持切片操作,但列表支持用切片方式修改其中的元素,而元组不支持

3.元组作为不可变序列,与整数,字符串一样可以作为字典的键,而列表不可以。

序列封包和序列解包

将多个值赋给一个变量时,python会自动将多个值封装成一个元组,这种功能是序列封包。

python 复制代码
values=1,2,3
print(values)
print(type(values))

#(1,2,3)
#<class'tuple'>

序列,元组或列表直接赋值给多个变量,此时序列的个元素会被依次赋值给每,(要求其对应数量相等)个变量,这种功能被称为序列解包 。

python 复制代码
tuple1=tuple(range(1,10,2))
print(tuple1)

a,b,c,d,e=tuple1
print(a,b,c,d,e)

#(1, 3, 5, 7, 9)
#1 3 5 7 9
相关推荐
学测绘的小杨9 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz31016 小时前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐16 小时前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海1 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理