第四天:数据结构
一、什么是数据结构?
数据结构是计算机科学中用于组织和存储数据的特定方式。良好的数据结构能够提高数据的访问效率、修改频率和管理能力。Python提供了多种内置数据结构,如列表、元组、字典和集合,便于开发者更有效地处理数据。
二、Python中的基本数据结构
1. 列表(List)
- 定义 :列表是一个有序的可变集合,允许重复元素。使用方括号
[]
表示。
python
# 示例:定义一个列表
fruits = ['apple', 'banana', 'cherry']
# 访问元素
print(fruits[1]) # 输出: banana
# 添加元素
fruits.append('orange')
print(fruits) # 输出: ['apple', 'banana', 'cherry', 'orange']
- 基本操作:
操作 | 方法 | 结果 |
---|---|---|
添加元素 | list.append(x) |
在末尾添加元素 |
插入元素 | list.insert(i, x) |
在指定位置插入元素 |
删除元素 | list.remove(x) |
删除第一个匹配项 |
排序 | list.sort() |
对列表进行排序 |
反转 | list.reverse() |
反转列表元素顺序 |
列表长度 | len(list) |
返回列表的长度 |
2. 示例:列表的常用操作
python
numbers = [3, 1, 4, 1, 5, 9]
# 添加
numbers.append(2)
print(numbers) # 输出: [3, 1, 4, 1, 5, 9, 2]
# 排序
numbers.sort()
print(numbers) # 输出: [1, 1, 2, 3, 4, 5, 9]
# 反转
numbers.reverse()
print(numbers) # 输出: [9, 5, 4, 3, 2, 1, 1]
3. 元组(Tuple)
- 定义 :元组是有序的不可变集合,使用小括号
()
表示。适合用来存储固定数据。
python
# 示例:定义一个元组
colors = ('red', 'green', 'blue')
# 访问元素
print(colors[0]) # 输出: red
- 基本操作:
操作 | 方法 | 结果 |
---|---|---|
元素数量 | len(tuple) |
返回元组的长度 |
元素索引 | tuple.index(x) |
返回首次出现的位置 |
计数 | tuple.count(x) |
返回某个元素的出现次数 |
4. 示例:元组的使用
python
# 定义一个包含坐标的元组
point = (10, 20)
# 获取坐标
x, y = point
print(f"X坐标: {x}, Y坐标: {y}") # 输出: X坐标: 10, Y坐标: 20
5. 字典(Dictionary)
- 定义 :字典是无序的可变集合,使用花括号
{}
表示,由键(key)和值(value)对组成。
python
# 示例:定义一个字典
person = {
'name': 'Alice',
'age': 25,
'city': 'New York'
}
# 访问元素
print(person['name']) # 输出: Alice
- 基本操作:
操作 | 方法 | 结果 |
---|---|---|
添加或更新元素 | dict[key] = value |
添加新键或更新已有键的值 |
删除元素 | del dict[key] |
删除指定键 |
获取所有键 | dict.keys() |
返回所有键的视图 |
获取所有值 | dict.values() |
返回所有值的视图 |
获取所有键值对 | dict.items() |
返回键值对的视图 |
6. 示例:字典的操作
python
# 添加新元素
person['occupation'] = 'Engineer'
print(person) # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'occupation': 'Engineer'}
# 删除元素
del person['age']
print(person) # 输出: {'name': 'Alice', 'city': 'New York', 'occupation': 'Engineer'}
7. 集合(Set)
- 定义 :集合是无序的可变集合,元素唯一。使用花括号
{}
表示。
python
# 示例:定义一个集合
fruits_set = {'apple', 'banana', 'cherry'}
# 添加元素
fruits_set.add('orange')
print(fruits_set) # 输出: {'apple', 'banana', 'cherry', 'orange'}
# 删除元素
fruits_set.remove('banana')
print(fruits_set) # 输出: {'apple', 'cherry', 'orange'}
- 基本操作:
操作 | 方法 | 结果 |
---|---|---|
添加元素 | set.add(x) |
添加元素 |
删除元素 | set.remove(x) |
删除指定元素 |
取交集 | set1.intersection(set2) |
返回两个集合的交集 |
取并集 | set1.union(set2) |
返回两个集合的并集 |
取差集 | set1.difference(set2) |
返回在set1但不在set2的元素 |
8. 示例:集合的操作
python
set_a = {1, 2, 3}
set_b = {3, 4, 5}
# 取交集
print(set_a.intersection(set_b)) # 输出: {3}
# 取并集
print(set_a.union(set_b)) # 输出: {1, 2, 3, 4, 5}
三、数据结构选择指南
数据结构 | 适用场景 |
---|---|
列表 | 需要按顺序存储和访问数据时 |
元组 | 存储不需要修改的数据 |
字典 | 需要快速查找、插入、删除键值对时 |
集合 | 去重和集合运算时 |
四、数据结构的运行流程图
以下是一个简单的示例展示了对列表和字典进行基本操作的流程图:
+---------------------+
| 初始化数据 |
+---------------------+
|
V
+---------------------+
| 选择数据结构 |
+---------------------+
|
V
+---------------------+
| 添加/更新元素 |
+---------------------+
|
V
+---------------------+
| 数据查询或修改 |
+---------------------+
|
V
+---------------------+
| 输出结果 |
+---------------------+
五、实际应用示例:购物清单程序
我们可以结合使用各种数据结构创建一个简单的购物清单程序。
python
def add_item(shopping_list, item):
shopping_list.append(item)
print(f"已添加 {item} 到购物清单。")
def view_list(shopping_list):
print("购物清单:")
for item in shopping_list:
print(f"- {item}")
def remove_item(shopping_list, item):
if item in shopping_list:
shopping_list.remove(item)
print(f"已从购物清单移除 {item}。")
else:
print(f"{item} 不在购物清单中。")
# 示例:购物清单操作
shopping_list = []
add_item(shopping_list, '牛奶')
add_item(shopping_list, '面包')
view_list(shopping_list)
remove_item(shopping_list, '牛奶')
view_list(shopping_list)
六、习题
- 创建一个包含五个整数的列表,并实现函数来计算和、均值及中位数。
- 定义一个包含用户信息的字典,要求能够添加、删除和更新用户信息。
- 使用集合实现一个简单的学生管理系统,添加、查找和删除学生记录。
七、总结
在Python中,数据结构是组织和管理数据的基础。选择合适的数据结构可以有效提高程序的性能和可维护性。今天我们讨论了列表、元组、字典和集合的基本操作和特性,以及它们的应用场景。
参考资源
怎么样今天的内容还满意吗?再次感谢观众老爷的观看。
最后,祝您早日实现财务自由,还请给个赞,谢谢!