python序列之元组详解

liftword3个月前 (04-03)技术文章63

与列表类似,元组也是由任意元素组成的序列,不同的是元组是不可变的,意味着一旦元组被定义将无法再进行修改操作,因此它显得比较古板。

元组的创建:

可以使用() 创建元组

empty = () #定义了一个空元组

当元组中仅有一个元素时,也需要将元素后面加上逗号,例如:

tuple3 = (1,) #定义了一个只包含数字1的元组,1后面必须加上逗号才表示元组
tuple4 = 1, #甚至,不需要括号,仅仅有逗号就行

当元组有多个元素时,最后一个元素后面不用再加逗号

tuple1 = (1,7,4) #定义了一个纯数字的普通元组
tuple2 = (2,'python','java',5) #定义了一个具有数字和字符串的混合元组

tuple()函数可以将其他类型数据转化为元组

>> a=['python','java']
>> tuple(a)
('python','java')

元组的访问

与列表一样,都可以通过下标的形式访问:元组名[下标值]

>>tuple4 = (1,5,9)
>> tuple4[1]
5

元组的解包

可以将元组赋值给多个变量,这个过程被称作元组解包

>> langue = ('python','java','php')
>> a,b,c = langue
>> a
'python'
>> b
'java'
>> c
'php'

不允许对元组的元素进行修改

>> tuple4[1] = 4 #将会报语法错误。
TypeError: 'tuple' object does not support item assignment

元组使用拼接操作符

虽然元组本身不允许修改和删除,但是和字符串一样,我们可以对元组的元素进行修改并重新生成一个新的元组

tuple5 = ('python','java','php') #定义一个纯字符串的元组
tuple5[:2] +("flask",)+ tuple5[2:] #元组分片形式和拼接操作,生成在原元组第一位上插入'flask'元素的新元组
('python','flask','java','php')

可以通过del语句直接删除一个元组,但是不允许利用del删除元组的一个元素

tuple6 = 1,3
del tuple6

当然也可以采取变通的方法去掉元组的一个元素,例如:

tuple7 = ('python','flask','java','php') #定义一个纯字符串的元组
tuple7 = tuple7[:1] + tuple7[2:] #通过元组分片形式和拼接操作,生成了去掉了'醉酒青牛'元素的新元组并赋值给tuple7
tuple7= ('python','java','php')

注意:原先的元组还存在,只是已经不再叫tuple7,它会被Python内存垃圾回收

元组与列表

因为元组一旦创建就无法修改,元组的方法函数比列表要少很多,既然列表更加灵活,那么为什么不都使用列表代替呢?

元组其实有以下优点

  • 相同的元素,元组所占的空间较小
  • 防止被随意或者无意中修改序列
  • 函数的参数是以元组的形式传递的
  • 输出是,如果同时输出多个结果,会以元组的形式输出
  • 可以将元组用作字典的键

相关文章

Python 中的元组

元组是 Python 中的一种内置数据结构,可用于存储项目的有序集合。与列表类似,元组可以在单个实体中保存多种数据类型,但它们是不可变的,这意味着一旦创建,就无法修改、添加或删除元素。此属性使 Tup...

Python中的元组详解

1.介绍元组是Python中一种重要的数据类型,它允许存储值的集合,类似于列表。然而,元组与列表的不同之处在于它们是不可变的,这意味着一旦创建了元组,就不能修改它。2.语法在Python中,元组是通过...

Python 元组详解

1. 理解Python中的元组1.1 什么是元组?Python 中的元组是不可变的、有序的元素集合。与列表不同,元组一旦创建就无法修改,这使得它们适合数据完整性至关重要的情况。1.2 创建元组在 Py...

Python中的元组:内置的数据类型,允许你创建不可变的序列

在Python中,元组(Tuple)是一种内置的数据类型,它允许你创建一个不可变的值序列。元组的特性使其在需要存储不应该改变的数据集合时非常有用。以下是元组的一些关键特性:不可变性(Immutabil...

Python元组:你以为它只是只读的列表?它可比你想象的更强大!

提到Python中的元组(tuple),很多人第一反应是:“哦,就是那个不能改的列表嘛!”但如果你只把它当“只读列表”用,可就大材小用了!今天,我们就来扒一扒元组的隐藏技能和超实用场景,看完你一定会惊...

Python 数据结构之元组

大家好啊,我是大田。1、元组的定义下面 5 种形式都为定义元组的方式 t = tuple('python') t1 = ('p', 'y', 't', 'h', 'o', 'n') t2 = ('my...