元组
参考链接:python:元组【全用法】 来源:csdn
- 元组: 元组是一个不可变序列,可以包含任意数据类型,其表现形式为 tuple(一般当我们希望数据不改变时,我们使用元组,其它情况下基本使用列表)
- 元组创建: 使用 () 进行创建
- 注意:
- 元组不是空元组至少包含一个(,),当不包含逗号时,其类型将不是元组,当元组不是空元组时括号可以省略
t1=(1)
t2=('a')
t3=([1,'t'])
print(type(t1),type(t2),type(t3))
t1=(1,)
t2=('a',)
t3=([1,'t'],)
t4=(1,2,'a','b',t3)
print(type(t1),type(t2),type(t3),type(t4))
t1=('s','a')
t1.append('d')
t1=('s','a')
l=[1,2,3]
t1=([1,'t'],)
t2=(1,2,'a','b',t1,l)
print(t2)
s='a','b','c'
print(type(s))
t1[0].append(s)
l.append("a")
print(t2)
- 元组解包是指将元组中的每一个元素都赋值给一个变量,但变量数应该和元组元素数量一致,否则可在一个变量前加*接收多个数组元素
a=(1,2,3,4)
b,c,d=a
print("b=",b)
print("c=",c)
print("d=",d)
a=(1,2,3,4)
b,*c,d=a
print("b=",b)
print("c=",c)
print("d=",d)、
'''
运行结果
b= 1
c= [2, 3] #变量c前加*,因此c接收多个元素,其它变量只接收一个元素
d= 4
'''
t=(1,2,3,['l1','l2','l3'],'a','b','c')
print("t0=",t[0],type(t[0]))
t=(1,2,3,['l1','l2','l3'],'a','b','c')
print("t[3][:2]=",t[3][:2],type(t[3][:2]))
print("t[3]=",t[3:6],type(t[3:6]))
'''
运行结果:
t[3][:2]= ['l1', 'l2'] <class 'list'>
t[3]= (['l1', 'l2', 'l3'], 'a', 'b') <class 'tuple'>
'''
l=[1,2,3]
t1=(1,'t',)
t2=(1,2,'a','b',t1,l)
print(t1*3)
print(t2+t1)
print(t2+l)
'''
运行结果:
(1, 't', 1, 't', 1, 't')
(1, 2, 'a', 'b', (1, 't'), [1, 2, 3], 1, 't')
Traceback (most recent call last):
File "D:/eclipse/pyth/pyth/test/元组.py", line 36, in <module>
print(t2+l) # 元组与集合连接报错
TypeError: can only concatenate tuple (not "list") to tuple
'''
t2=(1,2,'a','b')
print(1 not in t2)
print('c' in t2)
'''
运行结果:
False
False
'''
t2=(1,2,'a','b')
for s in t2:
print(s,end=' ')
'''
运行结果:
1 2 a b
'''
t1=('a','b','c')
t2=(1,2,3)
for i,s in enumerate(t1,start=1):
print('第%d次遍历,元素为%s'%(i,s))
print(tuple(enumerate(t1,1)))
'''
运行结果:
第1次遍历,元素为a
第2次遍历,元素为b
第3次遍历,元素为c
((1, 'a'), (2, 'b'), (3, 'c'))
'''
t1=('a','b','c')
t2=(1,2,3)
t3=['aa','bb','cc']
for i in zip(t1,t2,t3):
print(i,end=' ')
'''
运行结果:
('a', 1, 'aa') ('b', 2, 'bb') ('c', 3, 'cc')
'''
t1=('a','b','c','c')
print(t1.count('c'))
print(t1.index('b'))
'''
运行结果:
2
1
'''
t1=('b','a','2','1')
print(sorted(t1))
print(t1.sort)
'''
运行结果:
print(t1.sort)
AttributeError: 'tuple' object has no attribute 'sort'
['1', '2', 'a', 'b']
'''