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

列表,集合,字典的增、删、查、改方法对比

在Python中,列表(List)、集合(Set)和字典(Dict)是三种常用的数据结构,它们在增、删、查、改操作上各有特点。以下是它们的详细对比:


1. 列表(List)

列表是有序的可变序列,支持重复元素。

操作 方法 示例 说明
append()
insert()
extend()
lst.append(10)
lst.insert(1, 20)
lst.extend([30, 40])
在末尾添加
在指定位置插入
合并另一个列表
remove()
pop()
del
clear()
lst.remove(10)
lst.pop(1)
del lst[0]
lst.clear()
删除指定值
删除并返回指定索引的元素
通过索引删除
清空列表
索引
index()
count()
in
lst[0]
lst.index(10)
lst.count(10)
10 in lst
通过索引访问
返回值的索引
统计出现次数
检查是否存在
索引赋值
切片赋值
lst[0] = 100
lst[1:3] = [200, 300]
直接修改元素
修改子列表

2. 集合(Set)

集合是无序的不重复元素集合,支持快速成员检测。

操作 方法 示例 说明
add()
update()
s.add(10)
s.update([20, 30])
添加单个元素
合并另一个可迭代对象
remove()
discard()
pop()
clear()
s.remove(10)
s.discard(10)
s.pop()
s.clear()
删除指定元素(不存在时报错)
安全删除(不存在时不报错)
随机删除一个元素
清空集合
in 10 in s 检查元素是否存在
无直接修改方法 需先删除再添加 集合无索引,需通过remove()+add()实现

3. 字典(Dict)

字典是无序的键值对集合(Python 3.7+后按插入顺序存储)。

操作 方法 示例 说明
赋值
update()
d["key"] = 10
d.update({"a": 1, "b": 2})
添加/修改键值对
合并另一个字典
del
pop()
popitem()
clear()
del d["key"]
d.pop("key")
d.popitem()
d.clear()
通过键删除
删除并返回值
删除并返回任意键值对(Python 3.7+为最后一对)
清空字典
键访问
get()
in
keys()/values()/items()
d["key"]
d.get("key", default)
"key" in d
d.keys()
通过键访问(不存在时报错)
安全获取值(可设默认值)
检查键是否存在
返回所有键/值/键值对
键赋值 d["key"] = 20 直接修改值

对比总结

特性 列表 集合 字典
有序性 有序 无序 有序(Python 3.7+)
重复元素 支持 不支持 键唯一,值可重复
索引访问 支持 不支持 通过键访问
修改方式 索引/切片赋值 需先删除再添加 直接键赋值
查找效率 O(n) O(1) O(1)(键查找)

使用场景建议

  • 列表:需要有序数据、允许重复、需索引或切片操作时。
  • 集合:需要去重、快速成员检测(如黑名单过滤)。
  • 字典:需要通过键快速访问值(如配置项、缓存)。

根据需求选择合适的数据结构能显著提升代码效率和可读性。

http://www.hskmm.com/?act=detail&tid=39064

相关文章:

  • MusicFree 音乐
  • 线段上随机取n个点的最大距离期望
  • RuoYi-Cloud-Plus 数据权限实现原理解析
  • 第5天(中等题 滑动窗口、逆向思维)
  • P10老板一句‘搞不定就P0’,15分钟我用Arthas捞回1000万资损 - 指南
  • 华为堡垒机
  • [HZOI] CSP-S模拟38 赛后总结
  • Meet in the middle 学习笔记
  • 集合常见操作示例
  • 深入解析:港大和字节携手打造WorldWeaver:以统一建模方案整合感知条件,为长视频生成领域带来质量与一致性双重飞跃。
  • 集合与列表有何不同的使用场景,如何选择?
  • 虚拟机下 安装 ubuntu 18.04
  • MinIO快速入门
  • 多表查询-练习
  • 实验3:卷积神经网络 - OUC
  • 使用 Docker Compose 在 CentOS 7 单机服务器上部署多实例 MinIO 集群
  • 102302147傅乐宜作业1
  • 多智能体大模型在农业中的应用研究与展望
  • 嵌入式基础作业--第七周--IIC协议采集温湿度与OLED显示
  • Nature子刊 | 基于生物学信息的神经网络
  • 软件开发(10.23)
  • 2025年项目总延期?这30款项目进度管理软件一定有一款适合你!
  • Educational Codeforces Round 66 (Rated for Div. 2) A~F
  • 鲁东大学提出可解释的自适应集成机器学习全基因组选择算法用于小麦产量性状关键SNPs筛选
  • 台球厅收银台押金原路退回系统押金预授权—东方仙盟 - 详解
  • if 语句
  • 数论专题小记
  • 机械臂和相机的9点标定原理
  • 遗传改良中的核心技术:交配设计
  • 《程序员修炼之道:从小工到专家》笔记1