1. 定义
列表
和元组
,都是一个可以放置任意数据类型的有序集合。
在大多数编程语言中,集合内元素的数据类型必须保持一致,但在 Python 的列表与元组中,没有这个约束。
示例
列表 List = [‘Tom’, 22, 33, ‘tony’]
元组 Tuple = (‘China’, 10)
如上列表与元组的示例,列表与元组集合内同时存放了 int 类型和 string 类型的元素
2. 区别
列表是动态的,长度大小不固定,可以随意地新增、删除、修改集合内元素
input:
test_list = ['Tom', 22, 33, 'tony']
test_tuple = ('jack', 10)
# test_list新增元素
test_list.append('100')
test_list.append('200')
print(test_list)
# test_list修改元素
test_list[0] = 'xiaomin'
print(test_list)
# test_list删除元素
test_list.pop()
print(test_list)
output:
['Tom', 22, 33, 'tony', '100', '200']
['xiaomin', 22, 33, 'tony', '100', '200']
['xiaomin', 22, 33, 'tony', '100']
从输入,输出可以证明列表支持集合内元素的新增、删除、修改
元组是静态的,长度大小固定,不可以新增、删除、修改集合内元素
input:
test_tuple = ('jack', 10)
# test_tuple修改元素
test_tuple[0] = 'xiaomin'
print(test_tuple)
output:
Traceback (most recent call last):
File "test001.py", line 5, in <module>
test_tuple[0] = 'xiaomin'
TypeError: 'tuple' object does not support item assignment
从输入,输出可以证明元组不支持集合内元素的修改
,新增和删除也不支持,大家可以自己动手实验下。
这也证明了Python中元组是静态不可变的。
如果就想在原有元组集合中添加元素,有没有办法可以实现呢?
答案:“有的”,见如下示例
input:
test_tuple = ('jack', 10)
new_test_tuple = test_tuple + (20, 'xiaomin')
print(new_test_tuple)
output:
('jac