-
元素重复性:
- 列表可以包含重复的元素。
- 集合不允许重复的元素,自动去重。
-
元素顺序:
- 列表中的元素是有序的,即元素的插入顺序会被保留。
- 集合中的元素是无序的,没有固定顺序,每次迭代可能会得到不同的元素顺序。
-
性能:
- 列表的查找、插入和删除操作通常比集合慢,因为列表是线性结构。
- 集合的查找、插入和删除操作通常更快,因为集合是基于哈希表实现的。
-
可变性:
- 列表是可变的,可以修改列表中的元素。
- 集合也是可变的,可以添加或删除元素。
-
操作:
- 列表支持索引操作,可以通过索引访问特定位置的元素。
- 集合不支持索引操作,因为元素是无序的。
-
用途:
- 列表通常用于存储有序的数据集合,需要通过索引访问元素或需要存储重复元素。
- 集合通常用于存储无序的唯一数据集合,用于快速查找、插入和删除操作。
-
语法:
- 列表使用方括号
[]
定义,例如:my_list = [1, 2, 3]
。 - 集合使用花括号
{}
或set()
函数定义,例如:my_set = {1, 2, 3}
或my_set = set([1, 2, 3])
。
- 列表使用方括号
示例代码
# 列表示例
my_list = [1, 2, 2, 3, 4]
print(my_list) # 输出: [1, 2, 2, 3, 4]
# 集合示例
my_set = {1, 2, 3, 4}
print(my_set) # 输出可能是: {1, 2, 3, 4},注意元素顺序可能不同
# 集合去重
my_set_with_duplicates = {1, 2, 2, 3, 4}
print(my_set_with_duplicates) # 输出: {1, 2, 3, 4}
# 列表和集合的查找速度比较
# 列表查找
if 2 in my_list:
print("Found in list")
# 集合查找
if 2 in my_set:
print("Found in set")