容器类型介绍:
1. 列表(List)
列表是 Python 中最常用的数据结构之一,它是一个有序的可变序列,允许存储任意类型的元素。列表用方括号 []
表示。
特点
- 有序:元素按照插入顺序排列。
- 可变:可以修改元素的值或增加、删除元素。
- 支持重复:可以包含重复的元素。
# 创建一个列表
fruits = ['apple', 'banana', 'cherry']
# 访问列表元素
print(fruits[0]) # 输出:apple
# 修改列表元素
fruits[1] = 'blueberry'
print(fruits) # 输出:['apple', 'blueberry', 'cherry']
# 添加元素
fruits.append('date')
print(fruits) # 输出:['apple', 'blueberry', 'cherry', 'date']
# 删除元素
fruits.remove('apple')
print(fruits) # 输出:['blueberry', 'cherry', 'date']
2. 元组(Tuple)
元组是一个有序的不可变序列,通常用于存储不需要改变的数据。元组用圆括号 ()
表示。
特点
- 有序:元素按照插入顺序排列。
- 不可变:一旦创建,不能修改其内容。
- 支持重复:可以包含重复的元素。
# 创建一个元组 coordinates = (10, 20, 30) # 访问元组元素 print(coordinates[1]) # 输出:20 # 元组不允许修改元素 # coordinates[1] = 40 # 这会引发错误
3. 集合(Set)
集合是一个无序的不重复元素集合,常用于去重和成员测试。集合用大括号 {}
表示,或使用 set()
函数创建。
特点
- 无序:元素没有特定的顺序。
- 不重复:不包含重复的元素。
- 可变:可以添加或删除元素。
# 创建一个集合 numbers = {1, 2, 3, 4, 4, 5} print(numbers) # 输出:{1, 2, 3, 4, 5} # 添加元素 numbers.add(6) print(numbers) # 输出:{1, 2, 3, 4, 5, 6} # 删除元素 numbers.remove(3) print(numbers) # 输出:{1, 2, 4, 5, 6}
4. 字典(Dictionary)
字典是一个无序的键值对集合,每个键值对通过冒号 :
分隔。字典用大括号 {}
表示。
特点
- 无序:在 Python 3.7 及以上版本中,插入顺序被保留。
- 键唯一:每个键在字典中必须是唯一的。
- 可变:可以修改、添加或删除键值对。
# 创建一个字典
student = {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}
# 访问字典值
print(student['name']) # 输出:Alice
# 修改字典值
student['age'] = 26
print(student) # 输出:{'name': 'Alice', 'age': 26, 'major': 'Computer Science'}
# 添加键值对
student['grade'] = 'A'
print(student) # 输出:{'name': 'Alice', 'age': 26, 'major': 'Computer Science', 'grade': 'A'}
# 删除键值对
del student['major']
print(student) # 输出:{'name': 'Alice', 'age': 26, 'grade': 'A'}
5.字符串(String)
字符串不像列表、字典或集合那样经常被称为“容器”,但它确实符合容器的一些特性。
特点
- 有序:字符串中的字符按顺序排列。
- 可迭代:可以逐字符迭代。
- 不可变:一旦创建,字符串的内容不能被修改。
容器特性比较
虽然字符串和其他容器类型(如列表、字典、集合)在一些操作和用途上有差异,但它们都具备一些共性,例如支持迭代和索引访问。
特性 | 字符串 | 列表 | 元组 | 集合 | 字典 |
---|---|---|---|---|---|
有序 | √ | √ | √ | × | √(3.6以后) |
可变 | × | √ | × | √ | √ |
支持索引 | √ | √ | √ | × | |
支持迭代 | √ | √ | √ | √ | √ |
支持重复元素 | √ | √ | √ | × | 键不支持,值支持 |