list(列表) 与 tuple(元组) 的区别:
相同点:
都是一种序列的形式,可以存储不同类型的数据。
用 tuple 和 list 分别存放不同的数据
tuple_var = (1, 1.1, 1+2j, "字符串", b'', True,None, (1, 2), [])
print(tuple_var, type(tuple_var))
list_var = [1, 1.1, 1+2j, "字符串", b'', None, True, (1, 2), []]
print(list_var, type(list_var))
运行结果:
不同点:
tuple 中的序列是不可变的;而 list 中的序列是可变的
tuple 中序列不可变
tuple_var = (1, 2, 3) # 定义一个元组
print(tuple_var) # 打印出元组
print(tuple_var[0]) # 打印出元组的第一个值
tuple_var[0] = 0 # 给元组中第一个元素重新赋值为 0
print(tuple_var[0]) # 打印出元组的第一个值
运行结果:
list 中的序列是可变的
list_var = [1, 2, 3] # 定义一个列表
print(list_var) # 打印出元组
print(list_var[0]) # 打印出元组的第一个值
list_var[0] = 0 # 给元组中第一个元素重新赋值为 0
print(list_var[0]) # 打印出元组的第一个值
运行结果:
tuple 中的元素真的不可变吗?
tuple 中存放的元素并不是不可变的,如果这个元素是列表,那列表中的元素就是可变的
改变 tuple 中列表中的元素
tuple_var = (1, 2, [3, 4]) # 定义一个含有列表的元组
print(tuple_var) # 打印出元组
print(tuple_var[2][0]) # 打印出元组中的列表的第一个值
tuple_var[2][0] = 5 # 给元组中列表第一个元素重新赋值为 5
print(tuple_var) # 打印出新的元组
运行结果: