2.3 python3 中List、Tuple、Set、Dictionary 用途

在 Python 中,List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典) 是四种最常用的数据结构,它们各自有不同的特性和适用场景。


1. List(列表)

特点

  • 有序(元素按插入顺序存储)

  • 可变(可以修改、添加、删除元素)

  • 允许重复元素

  • 使用 [] 定义

主要用途

✅ 存储有序数据(如日志记录、用户输入)
✅ 需要修改数据(增删改查)
✅ 允许重复元素(如统计词频)

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")  # 添加元素
fruits[1] = "kiwi"       # 修改元素
print(fruits)            # ['apple', 'kiwi', 'cherry', 'orange']


2. Tuple(元组)

特点

  • 有序(元素按插入顺序存储)

  • 不可变(创建后不能修改)

  • 允许重复元素

  • 使用 () 定义

主要用途

✅ 存储不可变数据(如配置项、常量)
✅ 作为字典的键(因为不可变)
✅ 函数返回多个值(如 return (x, y, z)

colors = ("red", "green", "blue")
# colors[1] = "yellow"  # 报错!元组不可变

# 用于解包
x, y, z = (1, 2, 3)
print(y)  # 2


3. Set(集合)

特点

  • 无序(不保证元素顺序)

  • 可变(可以增删元素)

  • 不允许重复元素

  • 使用 {} 或 set() 定义

主要用途

✅ 去重(自动去除重复元素)
✅ 集合运算(并集、交集、差集)
✅ 快速查找in 操作比列表快)

unique_numbers = {1, 2, 2, 3, 4}
print(unique_numbers)  # {1, 2, 3, 4}(自动去重)

# 集合运算
A = {1, 2, 3}
B = {3, 4, 5}
print(A | B)  # 并集 {1, 2, 3, 4, 5}
print(A & B)  # 交集 {3}


4. Dictionary(字典)

特点

  • 无序(Python 3.7+ 后按插入顺序存储)

  • 可变(可以修改、添加、删除键值对)

  • 键(key)唯一,值(value)可重复

  • 使用 {} 或 dict() 定义

主要用途

✅ 键值对存储(如 JSON 数据、数据库查询结果)
✅ 快速查找O(1) 时间复杂度)
✅ 存储结构化数据(如用户信息 {"name": "Alice", "age": 25}

user = {"name": "Alice", "age": 25, "city": "New York"}
print(user["name"])  # Alice

# 添加/修改数据
user["email"] = "alice@example.com"
user["age"] = 26

# 遍历字典
for key, value in user.items():
    print(f"{key}: {value}")


总结对比

数据结构可变性有序性允许重复主要用途
List(列表)✔️ 可变✔️ 有序✔️ 允许动态数据存储、增删改查
Tuple(元组)❌ 不可变✔️ 有序✔️ 允许不可变数据、函数多返回值
Set(集合)✔️ 可变❌ 无序❌ 不允许去重、集合运算
Dictionary(字典)✔️ 可变✔️ 有序(Python 3.7+)❌ 键唯一键值对存储、快速查询

如何选择?

  • 需要修改数据? → List 或 Dictionary

  • 数据不可变? → Tuple

  • 需要去重或集合运算? → Set

  • 需要键值对存储? → Dictionary

这些数据结构在 Python 编程中非常关键,合理使用可以提高代码的效率和可读性!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值