本文将全面介绍Python中的基础数据结构,帮助您掌握Python编程的核心概念。通过本教程,您将学会如何使用和操作各种Python数据类型。
学习目标
- 掌握Python基本数据类型
- 理解可变与不可变数据结构
- 学会使用列表、元组、字典和集合
- 掌握数据结构的常用操作方法
1. Python基本数据类型
1.1 数字类型
# 整数(int)
age = 25
population = 7_800_000_000 # 使用下划线提高可读性
# 浮点数(float)
pi = 3.14159
temperature = -12.5
# 复数(complex)
c = 3 + 4j
1.2 字符串(str)
# 字符串的创建和基本操作
name = "Python编程"
message = '你好,世界!'
multiline = """这是一个
多行字符串
示例"""
# 字符串操作
print(name[0]) # 输出:P
print(name[2:]) # 输出:thon编程
print(name.upper()) # 输出:PYTHON编程
2. 列表(List)
2.1 列表基础
# 创建列表
fruits = ['苹果', '香蕉', '橙子']
numbers = [1, 2, 3, 4, 5]
mixed = [1, '你好', 3.14, True]
# 列表操作
fruits.append('葡萄') # 添加元素
fruits.remove('香蕉') # 删除元素
print(len(fruits)) # 获取长度
2.2 列表切片
numbers = [0, 1, 2, 3, 4, 5]
print(numbers[2:4]) # 输出:[2, 3]
print(numbers[::-1]) # 反转列表
3. 元组(Tuple)
# 创建元组
coordinates = (10, 20)
rgb = (255, 128, 0)
# 元组操作
x, y = coordinates # 元组解包
print(rgb.count(255)) # 计数
print(rgb.index(128)) # 查找索引
4. 字典(Dictionary)
# 创建字典
student = {
'name': '张三',
'age': 18,
'scores': {'语文': 85, '数学': 92, '英语': 78}
}
# 字典操作
print(student['name']) # 访问值
student['grade'] = '高一' # 添加键值对
print(student.get('phone', '未设置')) # 安全访问
5. 集合(Set)
# 创建集合
numbers = {1, 2, 3, 4, 5}
letters = set(['a', 'b', 'c'])
# 集合操作
numbers.add(6) # 添加元素
numbers.remove(1) # 删除元素
print(numbers & {4, 5, 6}) # 交集
实践练习
1. 学生信息管理系统
# 创建一个存储学生信息的字典
students = {
'001': {
'name': '李四',
'age': 16,
'courses': ['语文', '数学', '英语']
},
'002': {
'name': '王五',
'age': 17,
'courses': ['物理', '化学', '生物']
}
}
# 添加新学生
def add_student(id, name, age, courses):
students[id] = {
'name': name,
'age': age,
'courses': courses
}
# 查询学生信息
def get_student_info(id):
return students.get(id, '未找到该学生')
进阶技巧
列表推导式
# 生成1-10的平方数列表
squares = [x**2 for x in range(1, 11)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 过滤偶数
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # [0, 2, 4, 6, 8]
字典推导式
# 创建数字及其平方的映射
square_dict = {x: x**2 for x in range(5)}
print(square_dict) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
常见问题解答
1. 如何选择合适的数据结构?
- 列表:适用于有序数据集合
- 元组:适用于不可变的数据集合
- 字典:适用于键值对数据
- 集合:适用于去重和集合运算
2. 可变与不可变数据结构的区别?
- 可变:列表、字典、集合
- 不可变:整数、浮点数、字符串、元组
练习题
- 创建一个列表,包含1-10的偶数
- 使用字典存储五个同学的姓名和年龄
- 使用集合去除列表中的重复元素
- 实现一个简单的通讯录系统