目录
元组是不可变的列表,即元组的值不可更改,因此元组一般只用于只存不取的需求。也因此元组可以被列表取代掉,所以元组相比较列表使用的很少。元组相比较列表的优点为:列表的值修改后,列表的结构将会发生改变,而元组只需要存储,因此列表在某种程度上而言需要占用更多的内存。但是目前工业上内存已经不是问题了,所以工业上元组一般不会使用。
my_teacher = ('nick','jason', 'tank', 'sean')
print(f"my_teacher: {my_teacher}")
# my_teacher: ('nick', 'jason', 'tank', 'sean')
name_str = ('lwx') # ()只是普通包含的意思
name_tuple1 = ('lwx','hanye')
name_tuple = ('lwx',) # 只有一个元素,最后要加上逗号
print(f"type(name_str): {type(name_str)}")
print(f"type(name_tuple): {type(name_tuple1)}")
print(f"type(name_tuple): {type(name_tuple)}")
name = ('lwx','hanye','forever')
print(name[0])
print(name[0:2])
# lwx
# ('lwx', 'hanye')
name = ('lwx','hanye','forever','happiness','enjoying')
print(name[0:4:2])
# ('lwx', 'forever')
name = ('lwx','hanye','forever','happiness','enjoying')
print(len(name))
# 5
name = ('lwx','hanye','forever','happiness','enjoying')
print('lwx' in name)
# True
name = ('lwx','hanye','forever','happiness','enjoying')
for name in name :
print(name)
# lwx
# hanye
# forever
# happiness
# enjoying
name = ('lwx','hanye','forever','hanye','happiness','lwx','enjoying')
print(name.count('lwx'))
print(name.count('hanye'))
# 2
# 2
name = ('lwx','hanye','forever','hanye','happiness','lwx','enjoying')
print(name.index('happiness'))
print(name.index('hanye'))
# 4
# 1
多个值
有序,可以按照索引取值
元组一旦义就不可以进行修改,所以是不可遍数数据类型
name = ['lwx','hanye','forever','hanye','happiness','lwx','enjoying']
print(id(name[6]))
name[6] = 'happy'
print(id(name[6]))
# 90515040
# 90441856
列表可变的原因是:索引对应的值的内存地址是可以改变的
元组不可变得原因是:索引所对应的值的内存地址是不可以改变的,或者反过来说,只要索引对应值的内存地址没有改变,那么元组是始终没有改变的。
name = (['lwx','hanyhe'],'forever','happiness')
print(f'id(name[0]:{id(name[0])}')
print(f'id(name[0]:{id(name[1])}')
print(f'id(name[0]:{id(name[2])}')
print('****************************************************')
name[0][0]='luowenxiang'
print(name)
print(f'id(name[0]:{id(name[0])}')
# id(name[0]:56571384
# id(name[0]:85920000
# id(name[0]:56911296
# ****************************************************
# (['luowenxiang', 'hanyhe'], 'forever', 'happiness')
# id(name[0]:56571384
原文:https://www.cnblogs.com/LWX-YEER/p/11379629.html