当前位置: 首页 > news >正文

集合(Set)的使用场景与习惯养成指南

集合是Python中非常实用但经常被初学者忽视的数据结构。下面我将通过实际场景说明何时该想到用集合,以及如何培养使用集合的思维习惯。

一、什么时候应该想到用集合?

1. 需要快速判断元素是否存在时

# 列表方式(O(n)时间复杂度)
items_list = [1, 2, 3, 4, 5]
if 3 in items_list:  # 需要遍历整个列表print("Found")# 集合方式(O(1)时间复杂度)
items_set = {1, 2, 3, 4, 5}
if 3 in items_set:  # 直接哈希查找print("Found")

2. 需要去除重复元素时

names = ["Alice", "Bob", "Alice", "Charlie"]
unique_names = list(set(names))  # ["Alice", "Bob", "Charlie"]

3. 需要集合运算时

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

4. 需要记录已处理项时

visited = set()
for item in data_stream:if item not in visited:process(item)visited.add(item)

二、如何培养使用集合的习惯?

1. 将常见列表操作转为集合操作

场景转换表

列表操作 集合替代方案 优势
if x in list if x in set 从O(n)到O(1)
len(set(list)) 直接len(set) 自动去重计数
手动去重 list(set(data)) 一行代码解决

2. 识别集合特征问题

当遇到以下特征的问题时,优先考虑集合:

  • 需要"唯一性"保证
  • 需要频繁检查元素是否存在
  • 需要比较两组数据的异同
  • 数据顺序不重要

3. 日常练习示例

示例1:共同好友

friends_alice = {"Bob", "Charlie", "Diana"}
friends_bob = {"Alice", "Charlie", "Eve"}common = friends_alice & friends_bob  # {"Charlie"}

示例2:数据清洗

# 去除重复记录的同时保留原始顺序
from collections import OrderedDict
http://www.dtcms.com/a/474338.html

相关文章:

  • 【每日一题】3186. 施咒的最大总伤害
  • 如何做新网站php 资讯网站
  • 专门做推广的网站吗哪个网站可以改字体
  • 小迪安全v2023学习笔记(一百零三讲)—— 漏扫项目篇PoC开发Rule语法反链判断不回显检测Yaml生成
  • MySQL的练习题二----创建表的练习题
  • 设备技术支持东莞网站建设大连模板网站制作多少钱
  • Dockerfile 指令详解与实战指南
  • 10.1 快速排序(排序(下))
  • 前端梳理体系从常问问题去完善-框架篇(Vue2Vue3)
  • 【数据分享】青藏高原10米分辨率DEM数据集
  • 网站正在建设中空白模板网站建设调查通知
  • 【星闪】Hi2821 | 低功耗开发 + 低功耗管理及按键唤醒例程
  • 怎么做网站的网盘品牌网站建设公司有哪些
  • 【Linux】Socket编程基础
  • 长春建网站wordpress 图片打开慢
  • 91工业设计网模板网站有利于做seo吗
  • 做网站蓝色和什么颜色搭配好看万维网站注册
  • Windows 10 使用 VMware Workstation 搭建 Ubuntu 虚拟机
  • 深入解析Litho的多智能体协同架构与ReAct推理机制
  • 机器视觉---ViBe算法
  • Product Hunt 每日热榜 | 2025-10-12
  • C++11 多线程与并发编程
  • 太原网站建设优化有什么ae做动图的网站
  • 【全志V821_FoxPi】9-3 Linux IIC驱动SSD1306(0.96寸oled屏幕)
  • crm管理系统登录入口官网龙华网站优化
  • 基于S32DS配置S32K344的FlexCAN模块
  • typescript中的难点总结
  • PHP 字符串处理详解
  • 【JUC】线程池有哪些拒绝策略?该如何选择使用?
  • 4 随机数 从一个随机数到另外一个随机数、等概率随机