元组(tuple)是一个不可变的序列,基本的一些操作方式和列表类似,但是有此列表中的方法在此是不可用的,如对元组的增加修改等
当在实际使用中希望数据不改变时,使用元组,其余情况下使用列表
my_tuple = () # 创建一个空的元组
print(my_tuple,type(my_tuple))
my_tuple = (1,2,3,4,5)
print(my_tuple,type(my_tuple))
print(my_tuple[3]) #通过索引取出相应的元素
my_tuple[0]=10 #此时运行会报错,因为元组是不可变的,所以无法修改其值
my_tuple = 10,
my_tuple = 10,20,30,40
a,b,c,d = my_tuple
print(a,b,c,d)
注:特别注意 在对一个元组解包时,变量的数量必须和元组中的元素要一一对应 如果出现变量和元素没有对等的情况下,我们可以在变量前面加一个* 这样变量就会将获取元组中所有剩余的元素以列表的形式返回 但是不能出现2个变量 2个*
my_tuple = 10,20,30,40
a,*b,c = my_tuple # 10 [20, 30] 40
*a,b,c = my_tuple # [10, 20] 30 40
print(a)
a,b,*c = [1,2,3,4,5,6,7]
a,b,*c = 'python java'
在内存当中每个对像都 保存了三个数据
列表就是一个可变对象 比如 a=[1,2,3]
a = [1,2,3]
print('修改前:',a,id(a))
# 通过索引来改变列表
a[0] = 10
print('修改后:',a,id(a))
# 为变量赋值
a = [4,5,6]
print('修改后:',a,id(a))
可变对象01
可变对象02
a = [1,2,3]
b = [1,2,3]
print(a,b)
print(id(a),id(b))
print(a is b) #False
print(a == b ) #True