‘’‘元组’‘’
形如:t=(‘python’,3,‘王’)
- 不可变序列:字符串、元组;→不可进行增、删、改的操作;
例:s=‘hello’
print(id(s))
s=s+‘world’
print(s)
print(id(s))#地址没变
可变序列:列表、字典;→可进行增、删、改的操作,对象地址不发生改变。
例:
lst=[1,2,3]
print(id(lst))
lst.append(4)
print(id(lst))
scores={‘王’:1,‘唐’:2,‘张’:3}
print(id(scores))
scores[‘崔’]=5
print(id(scores))#地址改变
- 元组的创建
①. 直接使用小括号;多个元素时,小括号可以省略不写
例:t=(‘hello’,90)
注:只包含一个元素时,必须使用逗号和小括号;
例:t=‘hello’,
②. 使用内置函数tuple()
例:t=tuple((‘hello’,90))
print(t)
③. 空列表、空字典、空元组的创建
lst=[ ]
lst1=list[ ]
d1={}
d2=dict()
t1=()
t2=tuple()
print(‘空列表’,lst,lst1)
print(‘空字典’,d1,d2)
print(‘空元组’,t1,t2)
④,如果元组中对象本身是不可变对象,则不能再引用其他对象;
如果元组中对象本身是可变对象,则可变对象的引用不允许改变,但数据可以改变。
例
t=(10,[20,30],9)
print(t)
print(type(t))
print(t[0],type(t[0]),id(t[0]))
print(t[1],type(t[1]),id(t[1]))
print(t[2],type(t[2]),id(t[2]))
运行→
(10, [20, 30], 9)
<class ‘tuple’>
10 <class ‘int’> 1956720017936
[20, 30] <class ‘list’> 1956721119744
9 <class ‘int’> 1956720017904
‘’‘尝试将t[1]修改为100’‘’
t[1]=100 #该行会报错,元组是不允许修改元素的。
‘’‘由于[20,30]为列表,列表是可变序列,所有可以向列表中添加元素,其内存地址不变’‘’
t[1].append(100)
print(t)
运行→
(10, [20, 30, 100], 9) 2598166778368
⑤, 元组的遍历
使用for in :
‘’‘元组的遍历’‘’
t=(‘hello’,‘王’,99)
‘’‘第一种获取元组元素的方式,使用索引’‘’
print(t[0])
print(t[1])
print(t[2])
‘’‘遍历元组’‘’
for item in t:
print(item)
运行→
hello
王
99
hello
王
99