第2章:Python核心数据结构
Python中的数据结构提供了强大的工具来存储和操作数据。理解这些数据结构是Python编程的基础。
2.1 列表(List)
2.1.1 什么是列表
列表是一种有序的可变序列,用于存储一组数据。它支持多种类型的数据混合存储。
# 创建一个列表
my_list = [1, 2, 3, 4, 5]
print(my_list) # 输出: [1, 2, 3, 4, 5]
2.1.2 列表常用操作
操作 | 语法 | 示例 |
---|---|---|
访问元素 | list[index] |
my_list[0] -> 1 |
添加元素 | list.append(value) |
my_list.append(6) |
插入元素 | list.insert(index, value) |
my_list.insert(2, 99) |
删除元素 | list.remove(value) |
my_list.remove(3) |
获取长度 | len(list) |
len(my_list) -> 5 |
切片操作 | list[start:end:step] |
my_list[1:4] -> [2, 3, 4] |
排序 | list.sort() |
my_list.sort() |
2.1.3 示例代码
# 创建和操作列表
my_list = [10, 20, 30, 40]
my_list.append(50) # 添加元素
my_list.remove(20) # 删除元素
print(my_list) # 输出: [10, 30, 40, 50]
2.2 元组(Tuple)
2.2.1 什么是元组
元组是不可变的有序序列,一旦创建就不能修改。
# 创建一个元组
my_tuple = (1, 2, 3)
print(my_tuple) # 输出: (1, 2, 3)
2.2.2 元组的特点
- 不可变性:元素不可更改,但可以包含可变对象。
- 支持索引和切片。
2.2.3 示例代码
# 元组的访问和切片
my_tuple = (10, 20, 30, 40)
print(my_tuple[1]) # 输出: 20
print(my_tuple[1:3]) # 输出: (20, 30)
2.3 集合(Set)
2.3.1 什么是集合
集合是一个无序且不重复的元素集合,适合去重和集合运算。
# 创建一个集合
my_set = {1, 2, 3, 3, 4}
print(my_set) # 输出: {1, 2, 3, 4}
2.3.2 常用操作
操作 | 语法 | 示例 |
---|---|---|
添加元素 | set.add(value) |
my_set.add(5) |
删除元素 | set.remove(value) |
my_set.remove(3) |
并集 | `set1 | set2` |
交集 | set1 & set2 |
{1, 2} & {2, 3} -> {2} |
差集 | set1 - set2 |
{1, 2} - {2, 3} -> {1} |
2.3.3 示例代码
# 集合运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2) # 并集: {1, 2, 3, 4, 5}
print(set1 & set2) # 交集: {3}
print(set1 - set2) # 差集: {1, 2}
2.4 字典(Dictionary)
2.4.1 什么是字典
字典是键值对的无序集合,每个键是唯一的。
# 创建一个字典
my_dict = {"name": "Alice", "age": 25}
print(my_dict) # 输出: {'name': 'Alice', 'age': 25}
2.4.2 字典常用操作
操作 | 语法 | 示例 |
---|---|---|
访问值 | dict[key] |
my_dict["name"] -> Alice |
添加键值对 | dict[key] = value |
my_dict["city"] = "NY" |
删除键值对 | del dict[key] |
del my_dict["age"] |
获取所有键 | dict.keys() |
my_dict.keys() |
获取所有值 | dict.values() |
my_dict.values() |
2.4.3 示例代码
# 字典操作
my_dict = {"name": "Alice", "age": 25}
my_dict["city"] = "New York" # 添加新键值对
print(my_dict["name"]) # 输出: Alice
del my_dict["age"] # 删除键值对
print(my_dict) # 输出: {'name': 'Alice', 'city': 'New York'}
2.5 字符串处理
2.5.1 字符串基础
字符串是不可变的字符序列。
# 创建字符串
my_string = "Hello, Python!"
print(my_string) # 输出: Hello, Python!
2.5.2 常用操作
操作 | 语法 | 示例 |
---|---|---|
拼接字符串 | str1 + str2 |
"Hello, " + "Python!" -> “Hello, Python!” |
替换 | str.replace(old, new) |
"Python".replace("P", "J") -> “Jython” |
分割 | str.split(separator) |
"a,b,c".split(",") -> [‘a’, ‘b’, ‘c’] |
转换大小写 | str.upper(), str.lower() |
"abc".upper() -> “ABC” |
2.5.3 示例代码
# 字符串操作
text = "Python is fun!"
print(text.upper()) # 输出: PYTHON IS FUN!
print(text.replace("fun", "awesome")) # 输出: Python is awesome!
总结
请看下一篇