数据结构
本文介绍了Python中五种基本数据结构及其特点:1)列表(有序、可变、多种类型混合);2)元组(有序、不可变、适合存储固定数据);3)字典(键值对映射、快速查找);4)集合(无序、元素唯一、支持集合运算);5)字符串(字符序列、不可变)。每种数据结构都配有基础操作示例代码,包括元素的增删改查等操作。这些数据结构可嵌套使用以构建更复杂的数据模型,是Python编程的重要基础。
注意: 数据类型如下:

欢迎大家在评论区留言或私信,交流学习心得或学习R的过程中遇到的问题。感谢大家的支持和关注,您的支持是我创作的最大动力。
1.列表
列表是Python中最通用、最常用的数据结构,用方括号 [ ] 表示。特点如下:
有序:元素按插入顺序存储。
可变:可以动态地添加、删除或修改元素。
可包含任意类型:一个列表可以包含数字、字符串、甚至其他列表。
my_list = [1, 2, 3, 'apple']
# 访问元素 (通过索引,从0开始)
print(my_list[0]) # 输出: 1
# 修改元素
my_list[1] = 'banana' # 列表变为 [1, 'banana', 3, 'apple']
# 添加元素
my_list.append(4) # 在末尾添加: [1, 'banana', 3, 'apple', 4]
my_list.insert(1, 'x') # 在索引1处插入'x'
# 删除元素
del my_list[2] # 删除索引为2的元素
popped = my_list.pop() # 弹出并返回最后一个元素
# 切片 (获取子列表)
sub_list = my_list[1:3] # 获取索引1到2的元素 (不包含3)
2.元组
元组类似于列表,但它是不可变的,用圆括号 ( ) 表示。特点如下:
不可变:一旦创建,内容无法更改。这使得它们比列表更安全,并且可以作为字典的键。
有序:元素按插入顺序存储。
通常用于存储相关的数据项,例如一个点的坐标 (x, y)。
my_tuple = (1, 2, 'hello')
# 访问元素
print(my_tuple[1]) # 输出: 2
# 不能修改,以下操作会报错
# my_tuple[1] = 'world' # TypeError
# 元组解包
x, y, z = my_tuple
print(y) # 输出: 2
3.字典
字典用于存储键值对映射关系,用花括号 {} 表示,格式为 key: value。特点如下:
无序(在Python 3.7+中,插入顺序被保留,但不应依赖于此进行逻辑判断)。
键必须是不可变类型(如字符串、数字、元组)。
值可以是任意类型。
通过键来快速访问值,速度极快。
my_dict = {'name': 'Bob', 'age': 30, 'city': 'New York'}
# 访问值
print(my_dict['name']) # 输出: Bob
print(my_dict.get('age')) # 输出: 30 (更安全,键不存在时返回None)
# 添加/修改键值对
my_dict['job'] = 'Engineer' # 添加
my_dict['age'] = 31 # 修改
# 删除键值对
del my_dict['city']
popped_value = my_dict.pop('age')
# 遍历
for key, value in my_dict.items():
print(f"{key}: {value}")
4.集合
集合是一个无序的、不重复的元素集,用花括号 {} 表示(但没有冒号,或者使用 set() 函数创建)。特点如下:
元素唯一:自动去除重复项。
无序:不记录元素的插入位置。
主要用于成员关系测试、去重和集合运算(如并集、交集)。
my_set = {1, 2, 2, 3, 4}
print(my_set) # 输出: {1, 2, 3, 4} (自动去重)
# 添加元素
my_set.add(5)
# 删除元素
my_set.remove(2) # 如果元素不存在会报错
my_set.discard(10) # 安全删除,即使元素不存在也不会报错
# 集合运算
a = {1, 2, 3}
b = {2, 3, 4}
print(a | b) # 并集: {1, 2, 3, 4}
print(a & b) # 交集: {2, 3}
print(a - b) # 差集 (在a中但不在b中): {1}
5.字符串
字符串是字符的不可变序列。特点如下:
不可变:一旦创建,无法单独修改其中的字符。
有序:字符有固定的位置(索引)。
my_str = "Hello, World!"
# 访问字符
print(my_str[0]) # 输出: H
# 切片
print(my_str[7:12]) # 输出: World
# 字符串方法
print(my_str.lower()) # 转为小写: "hello, world!"
print(my_str.split(',')) # 分割字符串: ['Hello', ' World!']
print('Hello' in my_str) # 成员检查: True
# 不能修改,以下操作会报错
# my_str[0] = 'h' # TypeError
这些数据结构是Python编程的基石,熟练掌握它们将极大地提升你的编程效率。在实际应用中,它们常常被嵌套使用,例如创建一个包含字典的列表,或者一个值为元组的字典等,以构建更复杂的数据模型。
※※大家在使用的时候遇到任何问题欢迎留言,您的支持是我创作的最大动力。※※
3386

被折叠的 条评论
为什么被折叠?



