Python语法系列博客 · 第3期 数据结构入门(列表、元组、字典、集合)
上一期小练习解答(第2期回顾)
✅ 练习1:判断一个数是正数、负数还是零
num = float(input("请输入一个数:"))
if num > 0:print("正数")
elif num < 0:print("负数")
else:print("零")
✅ 练习2:求1~100的偶数和
total = 0
for i in range(1, 101):if i % 2 == 0:total += i
print("1到100的偶数和为:", total)
✅ 练习3:密码输入,最多三次
correct_password = "123456"
for attempt in range(3):pwd = input("请输入密码:")if pwd == correct_password:print("欢迎登录!")breakelse:print("密码错误!")
else:print("密码错误三次,拒绝访问!")
本期主题:Python常见数据结构
在Python中,内置了几种强大而常用的数据结构,用于存储和组织数据。本期我们重点讲解四种基础结构:
-
列表(List)
-
元组(Tuple)
-
字典(Dict)
-
集合(Set)
3.1 列表 List
列表是一种有序、可变的序列,可以存放任何类型的对象。
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # 输出 apple
fruits.append("pear") # 添加元素
fruits.remove("banana") # 移除元素
常用操作:
操作 | 示例 |
---|---|
添加元素 | append(x) 、insert(i, x) |
删除元素 | remove(x) 、pop(i) |
排序 | sort() 、reverse() |
切片 | list[1:3] |
遍历 | for item in list: |
3.2 元组 Tuple
元组和列表类似,但它是不可变的,创建后不能修改,常用于存储固定数据。
point = (3, 5)
print(point[0]) # 输出 3
特点:
-
用圆括号
()
定义 -
不可修改(immutable)
-
可以用于字典的键、集合的元素等不可变场景
3.3 字典 Dict
字典是一种**键-值对(key-value)**的数据结构。
person = {"name": "Tom", "age": 25}
print(person["name"]) # 输出 Tom
person["age"] = 26 # 修改值
person["gender"] = "男" # 添加新键值
常用操作:
操作 | 示例 |
---|---|
访问值 | dict[key] 或 get(key) |
添加/修改 | dict[key] = value |
删除 | del dict[key] |
遍历 | for k, v in dict.items() |
3.4 集合 Set
集合是一种无序、不可重复的元素集合,适合去重、集合运算。
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集:{1, 2, 3, 4, 5}
print(a & b) # 交集:{3}
特点:
-
用花括号
{}
或set()
创建 -
不允许重复元素
-
支持集合运算(并集、交集、差集)
3.5 四者对比总结:
数据结构 | 可变性 | 是否有序 | 是否允许重复 | 适用场景 |
---|---|---|---|---|
List | 可变 | 有序 | 是 | 常规列表存储、迭代 |
Tuple | 不可变 | 有序 | 是 | 不可变数据打包、函数返回值 |
Dict | 可变 | 无序(3.6+有序) | 键唯一 | 键值对数据、高效查找 |
Set | 可变 | 无序 | 否 | 去重、集合数学运算 |
本期小练习:
-
创建一个列表,添加5个名字,然后打印所有名字(使用循环)。
-
定义一个字典,记录某学生的姓名、年龄、成绩,并打印出这些信息。
-
给定两个集合
{1, 2, 3, 4}
和{3, 4, 5, 6}
,求它们的并集、交集和差集。
小结:
本期介绍了Python中四种常见的数据结构,理解这些数据结构是写好程序的基础。在后续的学习中,我们会大量用到这些结构来组织和处理数据。
第4期预告:
下期我们将介绍:
-
函数的定义与使用
-
参数传递、返回值、默认参数
-
匿名函数与作用域