在Python中,数据结构是用来存储和管理数据的容器。Python提供了四种内建的数据结构:列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。每种数据结构都有其特点和适用场景,理解它们对于编写高效、易于维护的代码至关重要。
4.1 列表(List)
列表是Python最常用的数据结构之一,它是一个可变的、有序的集合,可以存储不同类型的元素。列表支持元素的添加、删除、修改等操作。
4.1.1 创建列表
使用方括号 []
来定义一个列表,元素之间用逗号隔开。
示例:
# 创建一个包含不同类型元素的列表
my_list = [1, 2.5, "Hello", True]
print(my_list)
4.1.2 索引与切片
- 列表是有序的,可以通过索引访问其中的元素。
- 列表索引从0开始,支持负索引(从列表末尾开始倒数)。
示例:
# 索引访问元素
print(my_list[0]) # 输出 1
print(my_list[-1]) # 输出 True (最后一个元素)
# 切片操作,获取部分列表
print(my_list[1:3]) # 输出 [2.5, 'Hello'](从索引1到索引3,但不包括索引3)
4.1.3 常用操作
- 添加元素:
append()
:将元素添加到列表末尾。insert()
:在指定位置插入元素。
示例:
# 添加元素
my_list.append("Python")
print(my_list) # [1, 2.5, 'Hello', True, 'Python']
# 插入元素
my_list.insert(1, "Inserted")
print(my_list) # [1, 'Inserted', 2.5, 'Hello', True, 'Python']
- 删除元素:
remove()
:删除指定的元素。pop()
:删除指定索引位置的元素,并返回该元素。
示例:
# 删除指定元素
my_list.remove("Hello")
print(my_list) # [1, 'Inserted', 2.5, True, 'Python']
# 删除指定索引的元素
popped_item = my_list.pop(2)
print(popped_item) # 2.5
print(my_list) # [1, 'Inserted', True, 'Python']
- 修改元素: 直接通过索引修改列表中的元素。
示例:
# 修改元素
my_list[1] = "Modified"
print(my_list) # [1, 'Modified', True, 'Python']
4.2 元组(Tuple)
元组是Python中的另一种有序数据结构,和列表非常相似,但元组是不可变的(immutable)。一旦创建,就不能修改其内容。这使得元组在某些情况下比列表更安全和高效。
4.2.1 创建元组
元组使用圆括号 ()
定义,元素之间用逗号隔开。
示例:
# 创建元组
my_tuple = (1, 2.5, "Hello", True)
print(my_tuple)
4.2.2 使用场景
由于元组是不可变的,它们通常用于存储那些不需要更改的数据。常见的使用场景包括:
- 存储常量数据
- 函数返回多个值(例如,返回多个结果时,可以用元组返回)
- 用作字典的键(因为元组是不可变的,可以作为哈希值)
示例:
# 使用元组存储不变的数据
coordinates = (10.0, 20.0)
4.2.3 元组的操作
由于元组不可变,所以无法进行修改、添加或删除操作。可以通过索引和切片来访问元素。
示例:
# 索引访问
print(my_tuple[0]) # 输出 1
# 切片操作
print(my_tuple[1:3]) # 输出 [2.5, 'Hello']
4.3 字典(Dictionary)
字典是一个无序的键值对集合,Python中的字典由键(key)和值(value)组成。字典是可变的,可以动态地添加、删除和更新键值对。
4.3.1 创建字典
字典使用花括号 {}
定义,键和值之间用冒号 :
分隔,多个键值对用逗号隔开。
示例:
# 创建字典
my_dict = {"name": "Alice", "age": 25, "is_student": True}
print(my_dict)
4.3.2 字典的常用操作
- 查找元素:通过键来访问值。
- 更新元素:修改现有键对应的值。
- 添加元素:添加新的键值对。
- 删除元素:使用
del
删除指定的键值对。
示例:
# 查找元素
print(my_dict["name"]) # 输出 Alice
# 更新元素
my_dict["age"] = 26
print(my_dict) # {'name': 'Alice', 'age': 26, 'is_student': True}
# 添加元素
my_dict["city"] = "New York"
print(my_dict) # {'name': 'Alice', 'age': 26, 'is_student': True, 'city': 'New York'}
# 删除元素
del my_dict["is_student"]
print(my_dict) # {'name': 'Alice', 'age': 26, 'city': 'New York'}
4.4 集合(Set)
集合是一个无序、不可重复的元素集合。集合不支持索引、切片等操作,但它提供了许多强大的数学集合操作,如并集、交集、差集等。
4.4.1 创建集合
集合使用花括号 {}
或 set()
函数创建。注意,集合中的元素不能重复。
示例:
# 创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set)
# 创建空集合
empty_set = set()
print(empty_set)
4.4.2 集合的常用操作
- 添加元素:使用
add()
方法添加单个元素。 - 删除元素:使用
remove()
或discard()
方法。 - 集合运算:支持并集、交集、差集等操作。
示例:
# 添加元素
my_set.add(6)
print(my_set) # {1, 2, 3, 4, 5, 6}
# 删除元素
my_set.remove(2) # 移除元素 2
print(my_set) # {1, 3, 4, 5, 6}
# 交集
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1 & set2) # {2, 3}
# 并集
print(set1 | set2) # {1, 2, 3, 4}
# 差集
print(set1 - set2) # {1}
4.4.3 使用场景
集合通常用于需要去重的场景,比如去除列表中的重复元素,或进行集合运算(如并集、交集等)。
示例:
# 去重操作
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_items = set(my_list)
print(unique_items) # {1, 2, 3, 4, 5}
小结
- 列表(List):有序、可变的集合,支持索引、切片、添加、删除和修改操作。
- 元组(Tuple):有序、不可变的集合,适用于存储不变的数据,常用作函数返回值或字典的键。
- 字典(Dictionary):无序的键值对集合,支持高效的查找、更新和删除操作,适合存储关联数据。
- 集合(Set):无序、不重复的元素集合,支持并集、交集等数学运算,常用于去重或集合运算。
掌握这些数据结构将大大提高你处理数据的能力,让你在编写Python程序时更加高效和灵活。
标签:python,元素,list,元组,集合,print,数据结构,my From: https://blog.csdn.net/weixin_70285813/article/details/144117846