元祖(tuple)
·括号运算符:‘()’
作用:
1、控制运算优先级(优先级最高)
1+2*3 (1+2)*31+2**3 (1+2)**31 (1)表示1 一个数字加圆括号值与类型都不变
2、作为元祖的组成部分(非必须)
·元祖
列表:
元素:可以任意修改mutable,任意插入或者删除一个元素
元祖:
元素:不可以修改 immutable,元祖本身不可以改变·创建一个元祖
1、基本创建一个元祖
t=(1,2,3,4,5)
2、访问一个元祖
t[0]#访问下标0的元素
3、元祖的分片
同列表一样t[0:3] #取前3个值t[:3]#取前三个元素t2=t[:] #拷贝元祖,并且让t2指向新的元祖
4、元祖不可以被修改
l=[1,2,3,4,5]t=(1,2,3,4,5)print t[0]# 报错not support assignmentprint l[0]#正常不会报错
5、当元祖中只有一个元素
t=(10,) 不加逗号就是整数
6、没有圆括号的形式创建一个元祖
t=10,与t=(10,)效果一样t=10,20,30,40也是一个元祖
print函数加了圆括号元祖
print 1,2,3,4#输出四个值print (1,2,3,4)#输出元祖t=(1,2,3,4)print t
7、空元祖
t=()print tt=(,)#语法错误
如果元祖中有元素,用逗号区分是否为元祖,没有任何元素,用圆括号区分是否元祖
8、乘法操作
t=(1,2,3)t2=t*3print t2 #(1,2,3,1,2,3,1,2,3)l=[1,2,3]l*3print l
*列表与元祖乘法都是转换成了多个列表与元祖的加法
·元祖的更新
(1,2,3)在1后面插入4,可以这样操作t=(1,2,3) #创建一个元祖,t1=t[0:1]#通过分片截取拷贝之前的内容t2=t[1:]#通过分片截取后面的内容t3=t1+(4,)+t2 #(1,2,3,4),将两个截取的数据进行相加拼接t=t3 #拼接数据重新赋值t3指向的元祖用t也指向分片:把原元祖通过下标截取一段数据,并且拷贝出来以前的旧元祖从来没有发生改变
·元祖的删除
del直接删除t=(1,2,3)del t
删除整个元祖,准确说是删除元祖的标签(变量名)而元祖的数据本身并没有
被删除,当有多个标签同时指向一个元祖的时候,会逐个删除变量名,元祖本身还在。
没有被指向的数据就会被当成垃圾进行回收。
·元祖相关操作符
1、元祖拼接的操作符:
t1=(1,2,3)t2=(4,5,6)t=t1+t2
2、重复操作符:'*'
t=(1,2,3)t1=t*3#(1,2,3,1,2,3,1,2,3)
3、关系操作符:
< > <= >=t1=(1,2,3)
t2=(4,5,6)
print t1<t2
True
第一个先比较再比较后面
4、逻辑操作符:
and or not
5、成员运算符:
in /not in t1=(1,2,3)print 1 in t1True