python数据类型之元组(不可变的数据类型)

本文详细介绍了Python中的元组,强调其作为不可变数据类型的特性,包括元组与列表的区别、创建方法、索引切片、重复、连接等操作。元组在性能和数据安全性上优于列表,适用于存储不变数据。此外,还讨论了元组与列表的相互转换、打包与解包等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

元组是什么

元组(tuple)是Python中一种内置的存储有序数据的结构。与列表类似,可以存储不同类型的数据。但是元组是不可以改变的,创建后不能再做任何的修改。元组的主要作用是作为参数传递给函数调用或者从函数调用那里获得参数时,保护其内容不被外部接口修改。

因为元组是不可变的数据类型,因此元组没有增删改查

元组和列表的区别

元组相对于列表的优势:
首先比列表的运算速度快,如果定义了一个常量集对象,并且需要在程序中不断地遍历它,则建议使用元组而不是列表。
其次,使用元组相当于为不需要修改的数据进行了“写保护” ,使得数据更安全。

元组的创建

(1)空元组的创建——tup = ()
(2)当元组中只有一个数据时——tuple = (1,)
必须用,隔开 。 因为不加逗号系统默不是元组,而是其他数据类型
(3)元组里包含可变数据类型,可以间接修改元组内容
例如:元组中含有列表时,可以修改元组之哦不过列表的值
tuple = ([1,2,3],4)
tuple[0].append(5) 将元组中下标为0的元素列表中添加5这个元素

元组的特性

(1)索引 切片
通或索引和切片来查看元组中的元素内容
tuple[3] :查看下标为3的元组的元素是什么
与列表的索引切片类似

(2)重复
tuple * 3 元组内容重复三次

(3)连接
将两个元组中的数据连接到一起
tuple1 = (1,2,4,5)
tuple + tuple1

(4)成员操作符
‘westos’ in tuple :元素westos再元组中
‘westos’ not in tuple:元素westos不再元组中

(5)for循环

for i in tuple:
    print(i)

元组与列表的相互转换

  • Python 内置的tuple()函数接收一个列表,可返回一个包含相同元素的元组。
  • 而 list() 函数接收一个元组返回一个列表。
  • 从元组与列表的性质来看,tuple()相当于冻结一个列表,而list()相当于冻结一个元组。

例如:分别从两个列表中取不相同的两个元素组合成元组类型元素的新列表
输入:print([(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y])
输出:[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

元组的打包与解包

元组的打包:
输入:a = ‘q’,‘w’,‘e’,‘f’
输出:print(a)
结果:(‘q’, ‘w’, ‘e’, ‘f’)
元组的解包:
输入:a,b,c,d = ‘q’,‘w’,‘e’,‘f’
输出:print(a,b,c,d)
结果:q w e f

元组的基本操作

tup[i] 	求索引为i的元素
tup[i:j:k] 	切片求tup的位置索引为i~j~k的子元组
tup1 + tup2 	将 tup1与tup2连接
tup * 2 或者 2* tup 	将 tup复制2次
len(tup) 	求tup的长度
for <var> in tup 	对tup 元素循环
<expr> in tup 	查找 tup 是否存在<expr>,返回的值为布尔类型
del tup 	删除元组
max(tup) 	返回元组中最大的值
min(tup) 	返回元组中最小的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值