Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain

3. Python 数据结构

字典与集合

在 Python 中,字典(dict)和集合(set)是两种非常常用的数据结构。它们分别用于存储键值对和唯一元素,具有高效的查找和操作性能。本节将详细介绍字典和集合的基本用法、常见操作以及它们在实际编程中的应用。


字典(dict)

字典是 Python 中一种可变、无序的键值对集合。字典的键必须是不可变类型(如字符串、数字或元组),而值可以是任意类型。字典的主要特点是通过键快速查找对应的值。

字典的创建

字典可以通过花括号 {} 或 dict() 函数创建:

# 使用花括号创建字典
person = {"name": "Alice", "age": 25, "city": "New York"}

# 使用 dict() 函数创建字典
person = dict(name="Alice", age=25, city="New York")
字典的常用操作
  1. 访问元素:通过键访问对应的值。

    print(person["name"])  # 输出: Alice
    
  2. 添加或修改元素:通过赋值操作添加或修改键值对。

    person["email"] = "alice@example.com"  # 添加新键值对
    person["age"] = 26  # 修改已有键的值
    
  3. 删除元素:使用 del 语句或 pop() 方法删除键值对。

    del person["city"]  # 删除键为 "city" 的键值对
    age = person.pop("age")  # 删除并返回键为 "age" 的值
    
  4. 遍历字典:可以通过键、值或键值对遍历字典。

    for key in person:  # 遍历键
        print(key, person[key])
    
    for value in person.values():  # 遍历值
        print(value)
    
    for key, value in person.items():  # 遍历键值对
        print(key, value)
    
  5. 字典推导式:用于快速生成字典。

    squares = {x: x**2 for x in range(5)}  # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
    

集合(set)

集合是一种无序且不重复的元素集合。集合的主要用途是去重和成员关系测试。

集合的创建

集合可以通过花括号 {} 或 set() 函数创建:

# 使用花括号创建集合
fruits = {"apple", "banana", "cherry"}

# 使用 set() 函数创建集合
fruits = set(["apple", "banana", "cherry"])
集合的常用操作
  1. 添加元素:使用 add() 方法添加单个元素,或使用 update() 方法添加多个元素。

    fruits.add("orange")  # 添加单个元素
    fruits.update(["grape", "kiwi"])  # 添加多个元素
    
  2. 删除元素:使用 remove() 或 discard() 方法删除元素。

    fruits.remove("banana")  # 删除元素,如果元素不存在会报错
    fruits.discard("mango")  # 删除元素,如果元素不存在不会报错
    
  3. 集合运算:集合支持并集、交集、差集等运算。

    set1 = {1, 2, 3}
    set2 = {3, 4, 5}
    
    print(set1 | set2)  # 并集: {1, 2, 3, 4, 5}
    print(set1 & set2)  # 交集: {3}
    print(set1 - set2)  # 差集: {1, 2}
    print(set1 ^ set2)  # 对称差集: {1, 2, 4, 5}
    
  4. 集合推导式:用于快速生成集合。

    squares = {x**2 for x in range(5)}  # 输出: {0, 1, 4, 9, 16}
    

字典与集合的性能分析
  • 字典:字典的查找、插入和删除操作的平均时间复杂度为 O(1),因为字典是基于哈希表实现的。
  • 集合:集合的查找、插入和删除操作的平均时间复杂度也为 O(1),因为集合也是基于哈希表实现的。

实际应用场景
  1. 字典:

    • 存储配置信息或属性值。
    • 实现缓存或映射关系。
    • 统计词频或数据分组。
  2. 集合:

    • 去重操作。
    • 成员关系测试。
    • 集合运算(如交集、并集等)。

通过掌握字典和集合的使用方法,您可以在 Python 中更高效地处理数据,并解决各种实际问题。

Last Updated:: 3/17/25, 7:20 PM