元组与列表一样,可进行与列表一样的操作,像什么索引、切片等都与列表一样。
唯二的区别就是,元组没办法对其内容(元素)进行修改,且元组没有元组推导式。
元组的定义
num=(1,2,3,4,5,'上山打老虎')
#也可以是 num=1,2,3,4,5,'上山打老虎'
#所以嵌套元组就可以表示成如下
a=(1,2,3)
b=(4,5,6)
c=a,b
#结果为c=((1,2,3),(4,5,6))
元组的一些运算
其实说是元组的运算,但实际上都是列表中除去会对列表内容发生修改的部分的运算。
1、count(item)函数
2、index(item)函数
3、加法,乘法
元组的注意事项
1、元组同样可以作为for循环内的迭代器;
2、如何创建只有一个元素的元组
A=(53)
type(A) #结果为<class 'int'>
B=(53,) #结果为<class 'tuple'>
打包与解包
既然已经学习了元组和列表了,那就可以学习打包和解包的概念了。
t=(123,'boy',421)
x,y,z=t
#赋值完后,x=123,y='boy',z=421
q=[124,'girl',321]
a,b,c=q
#同理为一一赋值
#字符串也是同理(毕竟也是列表)
还记得独属于python的赋值方式吗
a,b=b,a
其本质上也是将右边打包成元组,再进行赋值。
元组与列表
因为元组中内容是没办法没修过的,但当元组中储存的是地址,而我只是去修改地址内的内容,则仍没有修改元组内容。
s=[1,2,3]
t=[4,5,6]
w=s,t
#此时w=([1,2,3],[4,5,6])
w[0][1]=1
#此时,w=([1,1,3],[4,5,6])