Python从放弃到入门——元组tuple

元组简介

元组(tuple)也是Python内置对象之一。元组与列表非常相似,也是任意对象的有序集合。与列表最大的区别就是列表是可变的,而元组是不可变的,因此元组定义后无法增加、修改、删除,没有append、remove等方法。并且元组通常包在圆括号中,而不是方括号。其他获取元素的方法和list是一样的,比如正数和负数索引,切片等。

常用的元组操作如下:
在这里插入图片描述
在这里插入图片描述

创建

元组用()表示,并且小括号可以省略。对于初学者,建议一直使用圆括号。

>>>t=('Python',18,True)
>>>print(t)
('Python', 18, True)

>>>t='Python',18,True
>>>print(t)
('Python', 18, True)

空元组表示方法有两种

>>>print(())
()

>>>print(tuple())
()

一个元素的元组
元组中至少要包含一个逗号,以消除与数学符号()的歧义。

>>>t=(18)
>>>print(type(t))
<class 'int'>

>>>t=(18,)
>>>print(type(t))
<class 'tuple'>

元组不可变详解

通常如果尝试修改元组,系统会报错。

>>>t=('Python',18,True)
>>>t[1]=36
TypeError: 'tuple' object does not support item assignment

如果元组中嵌套了一个可变类型的列表呢?

>>>t=('a','b',['A','B'])
>>>t[2][0]='X'
>>>t[2][1]='Y'
>>>print(t)
('a', 'b', ['X', 'Y'])

看似不可变的元组被改变了。为什么会这样呢?同列表一样,元组中存储的是引用对象,因此元组的不可变是指一旦定义后不能再引用其他对象,但是所指向的可变类型的数据是可以改变的。即元组的不可变性只适用于元组本身顶层而并非其内容
因此,使用元组的时候,请尽量使用数字、字符串和元组这种不可变的数据类型作为元组的元素,这样就能确保元组不发生变化。

多变量同时赋值

赋值运算符的左边可以是一个所有元素都为变量的元组或列表,从而一次给多个变量同时赋值。
还可以在赋值运算符的左边的某个变量前添加*号,以匹配赋值运算符右边的0个或多个元素。

>>>[a,b]=[5,8]
>>>print(a,b)
5 8

>>>a,b=5,8
>>>print(a,b)
5 8

>>>a,*b,c=1,2,3,4
>>>print(a,b,c)
1 [2, 3] 4

交换两个变量的值

通常在C语言中,交换两个变量的值需要借助中间变量,而python则不需要。

>>>a=5
>>>b=8
>>>a,b=b,a
>>>print(a,b)
8,5
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值