python基础语法3-数据结构

在 Python 中,数据结构是我们进行数据存储和操作的基础。Python 提供了四种常用的数据结构:列表(list)元组(tuple)字典(dict)集合(set)。每种数据结构有其独特的特点和应用场景,掌握这些数据结构能够帮助我们高效地编写 Python 程序。

本文将详细介绍这些常见数据结构的基本操作和应用场景。

1. 列表(list)及基本操作

1.1 什么是列表?

列表是 Python 中最常用的数据结构之一,它是一种有序的、可变的集合。列表中的元素可以是不同类型的,可以包含重复的元素。

1.2 列表的基本操作

创建列表:
my_list = [1, 2, 3, "apple", True]
print(my_list)  # 输出: [1, 2, 3, 'apple', True]
访问和修改列表元素:
# 通过索引访问元素
print(my_list[0])  # 输出: 1
print(my_list[-1])  # 输出: True

# 修改列表中的元素
my_list[2] = "banana"
print(my_list)  # 输出: [1, 2, 'banana', 'apple', True]
列表常用操作:
# 添加元素
my_list.append("orange")
print(my_list)  # 输出: [1, 2, 'banana', 'apple', True, 'orange']

# 删除元素
my_list.remove("apple")
print(my_list)  # 输出: [1, 2, 'banana', True, 'orange']

# 排序
my_list.sort()  # 对可排序的元素进行排序
print(my_list)

# 列表切片
sub_list = my_list[1:4]
print(sub_list)  # 输出: [2, 'banana', True]

1.3 应用场景

列表适合用于需要保持元素顺序和频繁修改(添加、删除、修改)元素的场景。比如:

  • 存储一组数据并经常进行更新。
  • 实现栈(stack)和队列(queue)等数据结构。

2. 元组(tuple)及应用场景

2.1 什么是元组?

元组与列表类似,都是有序的集合,但元组是不可变的。创建后,元组的元素不能修改、添加或删除。元组用圆括号 () 表示。

2.2 元组的基本操作

创建元组:
my_tuple = (1, 2, 3, "apple", True)
print(my_tuple)  # 输出: (1, 2, 3, 'apple', True)
访问元素:
print(my_tuple[0])  # 输出: 1
print(my_tuple[-1])  # 输出: True
元组常用操作:
# 列表切片
sub_tuple = my_tuple[1:4]
print(sub_tuple)  # 输出: (2, 3, 'apple')

2.3 应用场景

元组通常用于以下场景:

  • 数据不可变:如果你需要一个集合,其中的元素不会被修改,使用元组可以提供更高的安全性和性能。
  • 作为字典键:因为元组是不可变的,它可以作为字典的键,而列表不能作为字典键。
  • 存储多个数据元素:比如函数返回多个值时,使用元组进行返回。

3. 字典(dict)及键值对操作

3.1 什么是字典?

字典是无序的键值对集合,每个元素由一个键(key)和一个值(value)组成。字典是可变的,键必须是不可变的数据类型(如字符串、元组),而值可以是任意类型。

3.2 字典的基本操作

创建字典:
my_dict = {"name": "Alice", "age": 25, "is_student": True}
print(my_dict)  # 输出: {'name': 'Alice', 'age': 25, 'is_student': True}
访问和修改字典中的元素:
# 访问字典的值
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'}

# 获取所有键、值、键值对
print(my_dict.keys())  # 输出: dict_keys(['name', 'age', 'city'])
print(my_dict.values())  # 输出: dict_values(['Alice', 26, 'New York'])
print(my_dict.items())  # 输出: dict_items([('name', 'Alice'), ('age', 26), ('city', 'New York')])

# 使用 get() 方法避免 KeyError
print(my_dict.get("country", "Not Found"))  # 输出: Not Found

3.3 应用场景

字典适合用于存储具有映射关系的数据,尤其是当你需要根据键快速查找对应值时。常见场景包括:

  • 存储用户信息、配置文件、数据库记录等。
  • 用作计数器、统计频率等。

4. 集合(set)及去重功能

4.1 什么是集合?

集合是无序的、不可重复的元素集合。集合的主要特点是去重,它可以自动去除重复的元素。

4.2 集合的基本操作

创建集合:
my_set = {1, 2, 3, 4, 5}
print(my_set)  # 输出: {1, 2, 3, 4, 5}

# 创建空集合
empty_set = set()
常用集合操作:
# 添加元素
my_set.add(6)
print(my_set)  # 输出: {1, 2, 3, 4, 5, 6}

# 删除元素
my_set.remove(3)  # 删除指定元素
print(my_set)  # 输出: {1, 2, 4, 5, 6}

# 集合去重
duplicate_list = [1, 2, 2, 3, 3, 4]
unique_set = set(duplicate_list)
print(unique_set)  # 输出: {1, 2, 3, 4}
集合操作:
# 集合的交集、并集、差集
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}

# 交集
print(set_a & set_b)  # 输出: {3, 4}

# 并集
print(set_a | set_b)  # 输出: {1, 2, 3, 4, 5, 6}

# 差集
print(set_a - set_b)  # 输出: {1, 2}

4.3 应用场景

集合主要用于去重和执行数学运算(如交集、并集、差集等)。常见的应用场景包括:

  • 去重:处理重复数据。
  • 数学运算:计算集合之间的交集、并集等。
  • 处理需要高效查找元素的场景。

Python 提供了强大的数据结构,适用于不同的应用场景:

  • 列表:适合存储有序数据和频繁更新的数据。
  • 元组:适合存储不可变数据和用于字典的键。
  • 字典:适合存储键值对映射关系,查找速度快。
  • 集合:适合去重操作和集合运算。

掌握这些数据结构,能够让你在 Python 编程中更加高效地处理数据,提高代码的可读性和执行效率。

更多内容请关注WX公众号 “学GIS的小宝同学”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值