数据结构_python

在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程序时更加高效和灵活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值