当前位置: 首页
编程语言
Python常用添加与删除元素API完整代码示例

Python常用添加与删除元素API完整代码示例

热心网友 时间:2026-06-26
转载

Python列表、字典、集合、栈和队列的增删API各有特点:列表通过追加、插入、扩展添加,弹出、移除删除;字典通过键赋值或弹出删除;集合用添加、更新添加,移除与丢弃区别在于是否报错;栈用list的追加和弹出实现;队列推荐deque(双端队列)实现追加和左侧弹出操作。

Python 序列类型常用添加与删除元素 API 全面解析

1. list 列表的增删操作详解

在日常 Python 开发中,对列表(list)进行元素的添加、删除、修改与查询是最为普遍的场景。本文将系统梳理列表增删操作的常用 API,并附上清晰示例,方便开发者随时查阅与复用。

操作API示例
在尾部追加元素append(x)arr.append(4)
在指定位置插入insert(i, x)arr.insert(1, 99)
批量添加多个元素extend(iterable)arr.extend([5, 6])
删除并返回末尾元素pop()arr.pop()
删除并返回指定下标元素pop(i)arr.pop(0)
删除匹配到的第一个值remove(x)arr.remove(99)
使用 del 语句删除指定下标del arr[i]del arr[1]
清空所有元素clear()arr.clear()

示例代码:

Python常用添加/删除元素API的完整代码

arr = [1, 2, 3]

arr.append(4)        # 在尾部追加元素 [1, 2, 3, 4]
arr.insert(1, 99)    # 在下标 1 处插入 99 [1, 99, 2, 3, 4]
arr.extend([5, 6])   # 批量追加 [5, 6] [1, 99, 2, 3, 4, 5, 6]

arr.pop()            # 删除并返回末尾元素
arr.pop(0)           # 删除并返回下标 0 的元素
arr.remove(99)       # 删除第一个值为 99 的元素

2. dict 字典的键值对增删操作

字典(dict)以键值对形式存储数据,其增删逻辑非常直观,核心就是通过键来操作。值得留意的是,pop() 方法可以接收第二个参数作为默认值,当待删除的键不存在时不会抛出 KeyError,而是返回该默认值——这是提升代码健壮性的实用技巧。

操作API示例
添加或修改键值对dict[key] = valuemp["a"] = 1
删除指定 keypop(key)mp.pop("a")
使用 del 删除指定 keydel dict[key]del mp["a"]
安全删除(带默认值)pop(key, 默认值)mp.pop("x", None)
清空所有键值对clear()mp.clear()

示例代码:

mp = {}

mp["a"] = 1
mp["b"] = 2

mp["a"] = 100       # 修改键 "a" 的值为 100

mp.pop("b")         # 删除键 "b" 及其值
mp.pop("x", None)   # 键 "x" 不存在时返回 None,不会报错

3. set 集合的添加与删除操作

使用集合(set)时,需要特别关注 remove()discard() 的区别:前者若要删除的元素不存在会立即抛出 KeyError,后者则会静默忽略。实际开发中,选择哪个方法取决于你是否希望程序在遇到意外数据时立即中断执行。

操作API示例
添加单个元素add(x)s.add(4)
批量添加多个元素update(iterable)s.update([5, 6])
删除指定元素(不存在则报错)remove(x)s.remove(3)
安全删除指定元素(不存在忽略)discard(x)s.discard(10)
随机删除并返回一个元素pop()s.pop()
清空所有元素clear()s.clear()

示例代码:

s = {1, 2, 3}

s.add(4)
s.update([5, 6])

s.remove(3)      # 元素 3 存在,正常删除;若不存在则报 KeyError
s.discard(10)    # 元素 10 不存在,不会引发任何错误

4. 字符串 str 的“修改”操作(实际不可变)

字符串(str)在 Python 中是不可变类型,这意味着你不能像修改列表那样直接改变其中的某个字符。每一次看似“修改”的操作,实际上都是创建了一个全新的字符串对象。这一特性需要特别注意,尤其是在大量字符串拼接的场景下可能影响性能。

s = "abc"

s = s + "d"              # 拼接后得到新字符串 "abcd"
s = s.replace("a", "x")  # 替换后得到新字符串 "xbcd"

错误写法示例:

s[0] = "x"   # 错误!字符串不支持原地修改

5. 栈 stack 的简洁实现

Python 官方推荐直接用列表(list)来实现栈,因为列表的 append()pop() 方法在尾部操作的时间复杂度均为 O(1),完全满足栈的“后进先出”需求,代码也最为简洁直观。

操作API
入栈(压入元素)append(x)
出栈(弹出顶部元素)pop()
stack = []

stack.append(1)
stack.append(2)

stack.pop()   # 返回 2,栈变为 [1]

6. 队列 queue 的高效实现

如果使用列表来模拟队列,从头部执行 pop(0) 操作的效率非常低下,因为所有剩余元素都需要向前移动。因此在实际开发中,队列的首选实现是 collections 模块下的 deque(双端队列),它从两端进行添加/删除操作的时间复杂度均为 O(1)。

操作API
入队(尾部添加)append(x)
出队(头部移除)popleft()
from collections import deque

q = deque()

q.append(1)
q.append(2)

q.popleft()   # 返回 1,队列变为 deque([2])

最常用记忆版:Python 添加与删除 API 速查表

最后,将最核心、最常用的添加与删除 API 浓缩为一张速查表。编写代码时如果忘记了具体方法,直接翻阅本页即可快速找到答案。

数据类型添加方法删除方法
listappend() / insert() / extend()pop() / remove()
dictmp[key] = valuepop(key) / del mp[key]
setadd() / update()discard() / remove()
stack(基于 list)append()pop()
queue(基于 deque)append()popleft()
来源:https://www.jb51.net/python/365997ufu.htm

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
AWS RDS 数据库配置入门与基础操作指南

AWS RDS 数据库配置入门与基础操作指南

本文介绍了AWSRDS的基本概念与核心价值,即提供托管式关系数据库服务,简化运维。详细阐述了创建RDS实例的关键配置步骤,包括引擎选择、实例规格、存储与网络设置。最后,指导读者如何通过多种方式安全连接至数据库实例,并开始进行数据操作,为后续应用开发奠定基础。

时间:2026-07-10 06:41
PHP MVC中AJAX请求无法调用控制器方法的原因与解决方案

PHP MVC中AJAX请求无法调用控制器方法的原因与解决方案

PHPMVC中AJAX请求返回整页HTML的常见原因是控制器方法未正确输出响应或未终止执行,导致框架渲染视图。解决方法是在控制器中设置JSON响应头、输出数据后调用exit()明确终止,同时前端使用小写url和dataType: "json "。

时间:2026-07-10 06:40
Go语言手动构造rsa.PublicKey:正确初始化大整数模数N完整指南

Go语言手动构造rsa.PublicKey:正确初始化大整数模数N完整指南

手动构造RSA公钥时,模数N为*big Int类型,不能直接使用超长十进制字面量,需通过SetString或UnmarshalText方法解析字符串。公钥指数E可直接赋值,推荐65537。生产环境应使用rsa GenerateKey生成密钥对,避免手动构造引发的安全和格式错误。

时间:2026-07-10 06:39
Go语言实现HTTP定时轮询监控多URL响应时间与状态检测

Go语言实现HTTP定时轮询监控多URL响应时间与状态检测

使用Go语言实现HTTP定时轮询监控,通过按行分割与Tab解析URL列表,避免闭包陷阱和nil指针,每个URL启动独立ticker安全并发请求,并配置超时控制与资源关闭,确保响应时间与状态码准确检测。

时间:2026-07-10 06:39
Tkinter中Label标签在主循环动态更新的正确方法

Tkinter中Label标签在主循环动态更新的正确方法

在Tkinter中正确动态更新标签的方法:将标签组件的textvariable参数绑定到一个StringVar变量,然后通过调用该变量的 set()方法更新其值,界面会自动刷新。这样避免直接修改text属性或调用update()。此做法实现数据与界面的解耦,代码更简洁,响应更及时,避免手动同步的闪烁,推荐做法。

时间:2026-07-10 06:39
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜