📅  最后修改于: 2023-12-03 15:17:24.562000             🧑  作者: Mango
Python中,List和Set都是常用的数据结构。虽然它们看起来很相似,但它们的功用和特性是有所不同的。本文将对这两种数据结构进行介绍和对比。
List
是Python中最常用的数据类型之一。它是一个可变的序列,使用中括号[]
表示。List里的元素可以是任何类型,包括另一个List。
my_list = [1, 2, 3, 'a', 'b', 'c', [4, 5, 6]]
# 索引和切片
print(my_list[0]) # 1
print(my_list[1:4]) # [2, 3, 'a']
print(my_list[-1]) # [4, 5, 6]
# 增加元素
my_list.append('d')
print(my_list) # [1, 2, 3, 'a', 'b', 'c', [4, 5, 6], 'd']
# 插入元素
my_list.insert(2, 'x')
print(my_list) # [1, 2, 'x', 3, 'a', 'b', 'c', [4, 5, 6], 'd']
# 删除元素
del my_list[3]
print(my_list) # [1, 2, 'x', 'a', 'b', 'c', [4, 5, 6], 'd']
# 修改元素
my_list[2] = 'y'
print(my_list) # [1, 2, 'y', 'a', 'b', 'c', [4, 5, 6], 'd']
Set
是Python中的一种集合类型,使用大括号{}
或函数set()
表示。Set可以用来去重,判断元素是否存在于集合中。
my_set = {1, 2, 3, 'a', 'b', 'c'}
# 基本操作
print(my_set) # {1, 2, 3, 'b', 'a', 'c'}
print(len(my_set)) # 6
print('a' in my_set) # True
# 添加元素
my_set.add('d')
print(my_set) # {1, 2, 3, 'b', 'a', 'c', 'd'}
# 删除元素
my_set.remove('b')
print(my_set) # {1, 2, 3, 'a', 'c', 'd'}
List
和 Set
他们各自适用于不同的场合,因此,在使用中,需要根据实际情况来选择。一般而言,当数据的顺序和位置比较重要的时候,应该选择使用 List
,而当需要快速的判定数据是否存在、去重时,应该使用 Set
。
以下是对比表格:
| | List | Set | | --- | --- | --- | | 顺序 | 有序 | 无序 | | 去重 | 需要手动 | 自动去重 | | 支持重复元素 | 支持 | 不支持 | | 支持索引和切片 | 支持 | 不支持 | | 是否可变 | 可变 | 可变 | | 内存占用 | 较大 | 较小 | | 查询速度 | 较慢 | 较快 | | 添加/删除元素 | 需要修改整个列表或开辟新的空间 | 可以很快添加或删除元素 |
在实际使用中,List
和 Set
都是常用的数据结构,它们都有自己的优点和适用场景。选择哪种数据结构,应该根据具体的需求和场景来判断,综合考虑它们的特性、性能、内存占用等方面的因素。