python序列之元组详解

liftword2个月前 (04-03)技术文章20

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

元组的创建:

可以使用() 创建元组

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的元组,没想象的那么简单

来源:AI入门学习作者:小伍哥Python的元组与列表类似,元组一旦创建,元组中的数据一旦确立就不能改变,不能对元组中中的元素进行增删改操作,因此元组没有增加元素append、更新元素update、弹...

3分钟掌握Python 中的元组

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

Python中的元组详解

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

Python 元组详解

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