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)元组能够对不需要修改的数据写保护

元组的常用操作

相关推荐
大博士.J1 小时前
MySQL实现全量同步和增量同步到SQL Server或其他关系型库
数据仓库·人工智能·python·mysql·adb
Sunshine_Cherish1 小时前
当Anaconda的安装路径与我想创建的conda虚拟环境路径不一致时,应该怎么操作?
python·conda·anaconda
Suwg2091 小时前
【Java导出word】使用poi-tl轻松实现Java导出数据到Word文档
java·开发语言·word·poi-tl
FreakStudio1 小时前
一文速通Python并行计算:00 并行计算的基本概念
python·嵌入式·面向对象·电子diy
坚持拒绝熬夜1 小时前
JVM的一些知识
java·jvm·笔记·java-ee
myzzb1 小时前
python字符级差异分析并生成 Word 报告 自然语言处理断句
python·学习·自然语言处理·word·snownlp
水w1 小时前
【pyCharm Git】根据dev分支新建dev_y分支,本地也新建dev_y分支,并将代码提交到Gitlab上的新分支dev_y上。
开发语言·git·python·pycharm·pull·push·branch
范哥来了2 小时前
python 数据可视化matplotib库安装与使用
开发语言·python·信息可视化
laimaxgg2 小时前
Qt窗口控件之颜色对话框QColorDialog
开发语言·前端·c++·qt·命令模式·qt6.3
dme.2 小时前
python爬虫Scrapy(6)之增量式
爬虫·python·scrapy