Python --007--元祖

元祖(tuple)

·括号运算符:‘()’

作用:
1、控制运算优先级(优先级最高)

1+2*3    (1+2)*3
1+2**3   (1+2)**3
1    (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 assignment
print 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 t

t=(,)#语法错误

如果元祖中有元素,用逗号区分是否为元祖,没有任何元素,用圆括号区分是否元祖

8、乘法操作

t=(1,2,3)
t2=t*3
print t2  #(1,2,3,1,2,3,1,2,3)

l=[1,2,3]
l*3
print 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 t1

True

猜你喜欢

转载自blog.51cto.com/13694862/2104043