Python 列表操作笔记:append / extend / + / pop

一、区别

操作 语法 是否原地修改 返回值 加几个元素
append lst.append(x) ✅ 是 None 1 个(把 x 当整体)
extend lst.extend(iter) ✅ 是 None 多个(拆开逐个加)
+ lst1 + lst2 ❌ 否 新列表 拼接两个列表
pop lst.pop(i) ✅ 是(删除) 被删的那个元素 ------

二、详细功能

append、extend、sort、reverse 都是"原地改,返回 None"。

1. append(x) ------ 末尾加一个元素(把x当做一个整体加进去)

lst = 1, 2

result = lst.append(3)

print(lst) # 1, 2, 3 ← 原列表被改

print(result) # None ← 返回值是 None
lst = 1, 2

lst.append(3, 4)

print(lst) # 1, 2, \[3, 4] ← 嵌套了!

2. extend(iter) ------ 末尾加多个 元素(把可迭代对象拆开,逐个加进去)

lst = 1, 2

result = lst.extend(3, 4)

print(lst) # 1, 2, 3, 4 ← 拆开逐个加

print(result) # None

3. + ------ 拼接,返回新列表(不修改原列表 ,返回新列表**)**

lst = 1, 2

new = lst + 3, 4

print(lst) # 1, 2 ← 原列表不变

print(new) # 1, 2, 3, 4 ← 新列表

4. pop(i) ------ 原地删除并返回被删元素

lst = 1, 2, 3

x = lst.pop(0)

print(lst) # 2, 3 ← 原列表被删

print(x) # 1 ← 返回被删的元素

三、例题

对于列表 my_list = [['a', 'b'], 1, 2],执行哪项操作可以生成新列表 ['a', 'b', 'c']?(B)

my_list[0] = ['a', 'b']

选项 代码 结果 对错
A new_list = my_list[0].append('c') None(原列表被改成 ['a','b','c'],但返回 None) ❌
B new_list = my_list[0] + ['c'] ['a', 'b', 'c'](新列表,原列表不变) ✅
C new_list = my_list[0].extend(['c']) None(原列表被改成 ['a','b','c'],但返回 None) ❌
D new_list = my_list.pop(0).append('c') None(pop 返回列表,append 返回 None) ❌

四、总结

lst = 1, 2

lst.append(3) # lst → 1,2,3 返回 None

lst.append(3,4) # lst → 1,2,\[3,4] 返回 None(嵌套)

lst.extend(3,4) # lst → 1,2,3,4 返回 None(拆开)

lst + 3,4 # 新列表 1,2,3,4 原 lst 不变

lst.pop(0) # lst → 2 返回 1(被删元素)

相关推荐
minji...1 小时前
LangGraph-AI智能体开发框架 - LangGraph 入门案例1 : 智能快递配送系统
人工智能·python·ai·langchain·大语言模型·agent·langgraph
维克兜率天1 小时前
【维克】价差交易实战:配对交易的核心参数设置
大数据·笔记·算法·量化
Είναι η κοπέλα1 小时前
PyTorch 安装与验证
人工智能·pytorch·python
Seraphina361 小时前
SQL注入(一)
数据库·经验分享·笔记·sql·网络安全
“AI国潮设计-小江”1 小时前
Python实战 | SDXL批量生成“潮汕英歌舞”国潮甜品IP,附核心Prompt与商用授权思路
开发语言·人工智能·python·prompt·aigc
AOI小白新手上路1 小时前
视频去雨网络的模块缝合路线 · 实践笔记
网络·笔记·音视频
2601_962885721 小时前
如何用 Python 分析股票的日历效应?(星期效应与月份效应,附数据挖掘陷阱)
开发语言·python·数据挖掘
czq_26867194871 小时前
Python打卡第30天
python·机器学习
FYKJ_20102 小时前
SSM校园互助与闲置交易平台62145-计算机课程设计、毕业设计
java·spring boot·python·mysql·架构·spark·课程设计