Python元组

基本介绍

1、元组(tuple)可以存放多个不同类型数据,元组是不可变序列

tuple 不可变是指当你创建了 tuple 时候,它就不能改变了,也就是说它也没有 append(),insert()这样的方法但它也有获取某个索引值的方法,但是不能重新赋值

2、元组也是一种数据类型

3、创建一个元组,只要把逗号分隔的不同的数据项,使用圆括号括起来即可

python 复制代码
##元组的定义
'''
1.定义了一个元组,名字为tuple_a,值为(100,200,300,400,500)
2.100 就是其中的一个数据元素
'''
tuple_a=(100,200,300,400,500)
tupie_b=('red', 'green', 'blue', 'yellow', 'white', 'black')

#输出元组数据
print(f"元组的内容是{tuple_a} 类型是:{type(tuple_a)}")
print(f"元组的内容是{tuple_b} 类型是:{type(tuple_b)}")

元组的基本使用

元祖名 [索引]

元组的使用

python 复制代码
tuple_color =('red', 'green', 'blue', 'yellow', 'white', 'black')

ptint(f"touple_color元组的第1个元素为:, touple_color[0]")

元组的遍历

什么是元组的遍历,简单的说,就是将元组的每个元素依次取出,进行处理的操作,就是遍历 / 迭代。

python 复制代码
tuple_color =('red', 'green', 'blue', 'yellow', 'white', 'black')

#实例:使用while循环,对列表进行遍历输出tuple_while.py
# while 遍历元组
tuple color = ('red', 'green', 'blue', 'yellow', 'white', 'black')
index = 0
while index < len(tuple_color)
    print(f"第{index+=1}的元素的值:, {tuple_color[index]}")
    index += 1


#实例:使用for循环,对列表进行遍历输出 tuple_for.py
for ele in tuple_color:
    print(f"元素是:{ele}")

元组的注意事项和细节

内置类型 --- Python 3.11.11 文档

1、如果我们需要一个空元组,可以通过(),或者 tuple()方式来定义

python 复制代码
#1.如果我们需要一个空元组,可以通过()或者tuple()方式来定义
tuple_a =()
tuple_b = tuple()
print(f"tuple_a 内容是{tuple_a} 类型是{type(tuple_a)}")print(f"tuple_b 内容是{tuple_b} 类型是{type(tuple_b)}")

2、元组的元素可以有多个, 而且数据类型没有限制(甚至可以嵌套元组),允许有重复元素,并且是有序的

python 复制代码
#2、元组的数据项可以有多个,而且数据类型没有限制
tuple_c =(100,"jack",4.5,True, "jack")
print(tuple_c)

#嵌套元组
tuple_d =(100,"tom",("天龙八部","笑傲江湖",300))
print("tuple_d=", tuple_d)

3、元组的索引 / 下标是从0开始的

4、元组索引必须在指定范围内使用,否则报:IndexError: tuple index out ofrange,比如 tuple_d=(1,2.1,"韩顺平教育") 有效下标为 0-2

5、元组是不可变序列(要注意其使用特点)

python 复制代码
#元组的元素是不能修改,会报错 TypeError: "tuple'object does not support item assignment

tuple e=(1,2.1,'韩顺平教育')
tuple_e[2]='python' #不能修改

6、可以修改元组内 list 的内容(包括 修改、增加、删除等)

python 复制代码
#6、可以修改元组内 list的内容(包括 修改、增加、删除等)

tuple_f =(1,2.1,'韩顺平教育',["jack","tom","mary" ] #访问元组中list及其元素
print(tuple_f[3])
print(tuple_f[3][0])

# 修改
tuple_f[3][0]= "HSP"
print(f"tuple_f 内容是 {tuple_f}")

# 删除
del tuple_f[3][0]
print(f"tuple_f 内容是 {tuple_f}")

# 增加
tuple_f[3].append("smith")
print(f"tuple_f 内容是 {tuple_f}")

7、索引也可以从尾部开始,最后个元素的索引为-1往前一位为-2,以此类推

8、定义只有一个元素的元组需要带上逗号,否则就不是元组类型

python 复制代码
# 8、定义只有一个元素的元组,需要带上逗号
tuple_h =(100,)
print(f"tuple_h的类型是{type(tuple_h)}")

9、既然有列表,为什么还要有元组?

(1)在项目中,尤其是多线程环境中,有经验的程序员会考虑使用不变对象(一方面因为对象状态不能修改,所以可以避免由此引起的不必要的程序错误;另一方面一个不变对象自动就是线程安全的,这样就可以省掉处理同步化的开销。可以方便的被共享访问)。所以,如果不需要对元素进行添加、删除、修改的情况下,可以考虑使用元组

(2)元组在创建时间和占用的空间上面都优于列表

(3)元组能够对不需要修改的数据写保护

元组的常用操作

相关推荐
The_cute_cat7 分钟前
JavaScript的初步学习
开发语言·javascript·学习
MO2T25 分钟前
使用 Flask 构建基于 Dify 的企业资金投向与客户分类评估系统
后端·python·语言模型·flask
慢热型网友.28 分钟前
用 Docker 构建你的第一个 Python Flask 程序
python·docker·flask
Naiva28 分钟前
【小技巧】Python + PyCharm 小智AI配置MCP接入点使用说明(内测)( PyInstaller打包成 .exe 可执行文件)
开发语言·python·pycharm
云动雨颤32 分钟前
Python 自动化办公神器|一键转换所有文档为 PDF
运维·python
梦子要转行37 分钟前
matlab/Simulink-全套50个汽车性能建模与仿真源码模型9
开发语言·matlab·汽车
梅孔立1 小时前
yum update 报错 Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 等解决办法
linux·python·centos
前端付豪1 小时前
13、你还在 print 调试🧾?教你写出自己的日志系统
后端·python
这里有鱼汤1 小时前
hvPlot:用你熟悉的 Pandas,画出你没见过的炫图
后端·python
北方有星辰zz1 小时前
数据结构:栈
java·开发语言·数据结构