元组
Python内置的数据结构之一,是一个不可变序列(不可以修改)
元组的定义
使用“(”和“)”把元素括起来,并用“,”隔开
例如:a = (1, 2, 3)
1.元组的创建
直接小括号
s = (1, 2, ‘a’)
使用内置函数tuple()
a = tuple((1, 2, ‘a’))
只包含一个元组的元素需要使用逗号和小括号
b = (1,)
print('-------------------元组的创建--------------------')
print('----------------()---------------')
s = (1, 2, 'a')
print(s)
print(type(s))
# 如果元组只有一个元素,这个元素后面必须要有“,”
b = (1,)
print(b)
print('------------tuple()---------------')
a = tuple((1, 2, 'a'))
print(a)
2.为什么要将元组设计成不可变序列
在多任务环境下,同时操作对象时不需要加锁
因此在程序中尽量使用不可变序列
注意事项:元组中存储的是对象的引用
a)如果元组中对象本身是不可变对象,则不能再引用其它对象
b)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但数据可以改变
T=(10 , [20,30] , 9)
print('-------------------为什么要将元组设计成不可变序列--------------------')
s = (1, 2, 'a', [11, 22, 's'])
print(s[1], type(s[1]), id(s[1]))
print(s[2], type(s[2]), id(s[2]))
print(s[3], type(s[3]), id(s[3]))
# s[3] = 100 # 元组不允许修改
s[3].append(100)
'''
由于s[3]时列表形式,属于可变序列,所以可以改变里面的数据
'''
print(s[3], type(s[3]), id(s[3]))
3.元组的遍历
元组是可迭代对象,所以可以使用for … in进行遍历
print('-------------------元组的遍历--------------------')
s = (1, 2, 'a', [11, 22, 's'])
for i in s:
print(i)