- 列表自身的常用方法(CRUD + 其他)
- 常用于列表的内置函数
两者结合,才能全面掌握对列表的操作!
✅ 一、列表自身的方法(通过 list.method() 调用)
| 方法 | 功能说明 | 是否修改原列表 | 示例 |
|---|---|---|---|
append(x) | 在末尾添加一个元素 | ✅ 是 | lst.append(4) |
extend(iterable) | 在末尾添加多个元素(展开 iterable) | ✅ 是 | lst.extend([4,5]) |
insert(i, x) | 在索引 i 处插入元素 x | ✅ 是 | lst.insert(0, 'a') |
remove(x) | 删除第一个值为 x 的元素 | ✅ 是 | lst.remove(2) |
pop([i]) | 删除并返回索引 i 的元素(默认最后一个) | ✅ 是 | lst.pop() → 返回值 |
clear() | 清空列表所有元素 | ✅ 是 | lst.clear() |
index(x[, start[, end]]) | 返回第一个等于 x 的索引 | ❌ 否 | lst.index(3) |
count(x) | 统计 x 出现的次数 | ❌ 否 | lst.count(2) |
sort(key=None, reverse=False) | 原地排序 | ✅ 是 | lst.sort(reverse=True) |
reverse() | 原地反转顺序 | ✅ 是 | lst.reverse() |
copy() | 返回浅拷贝 | ❌ 否 | new_lst = lst.copy() |
📌 所有以 . 调用的方法都属于列表对象本身。✅ 二、常用于列表的 内置函数(Built-in Functions)
这些函数不改变原列表,而是返回结果,适用于任何可迭代对象(包括列表)。
| 内置函数 | 功能说明 | 适用对象 | 示例 |
|---|---|---|---|
len(lst) | 返回列表长度(元素个数) | 任意序列/容器 | len([1,2,3]) → 3 |
max(lst) | 返回最大值 | 可比较元素的可迭代对象 | max([1,5,3]) → 5 |
min(lst) | 返回最小值 | 同上 | min([1,5,3]) → 1 |
sum(lst[, start]) | 求和(可选起始值) | 数字组成的可迭代对象 | sum([1,2,3]) → 6sum([1,2], 10) → 13 |
sorted(lst, key=None, reverse=False) | 返回排序后的新列表 | 任意可迭代对象 | sorted([3,1,2]) → [1,2,3] |
reversed(lst) | 返回反向迭代器(需转 list) | 序列 | list(reversed([1,2,3])) → [3,2,1] |
all(lst) | 判断是否所有元素为真 | 可迭代对象 | all([1,2,'a']) → True |
any(lst) | 判断是否有任一元素为真 | 可迭代对象 | any([0,0,1]) → True |
enumerate(lst, start=0) | 返回索引-值对的迭代器 | 可迭代对象 | list(enumerate(['a','b'])) → [(0,'a'),(1,'b')] |
zip(*iterables) | 并行打包多个列表 | 多个可迭代对象 | list(zip([1,2], ['a','b'])) → [(1,'a'),(2,'b')] |
map(func, lst) | 对每个元素应用函数 | 可迭代对象 | list(map(str, [1,2])) → ['1','2'] |
filter(func, lst) | 过滤满足条件的元素 | 可迭代对象 | list(filter(lambda x: x>0, [-1,2])) → [2] |
list(iterable) | 将可迭代对象转为列表 | 任意可迭代对象 | list("abc") → ['a','b','c'] |
⚠️ 注意:
sum()仅适用于数字(整数、浮点数等),不能对字符串列表求和(可用''.join()代替)。reversed()、map()、filter()、enumerate()、zip()返回的是迭代器,通常需要用list()包裹才能看到完整内容。
✅ 三、对比总结:方法 vs 内置函数
| 类别 | 特点 | 典型代表 |
|---|---|---|
| 列表方法 | 通过 . 调用,多数会修改原列表 | .append(), .sort(), .pop() |
| 内置函数 | 直接调用,不修改原数据,返回新结果 | len(), max(), sorted(), sum() |
🌰 示例对比:
lst = [3, 1, 2]
# 内置函数:不改变 lst
print(sorted(lst)) # [1, 2, 3]
print(lst) # [3, 1, 2] ← 未变
# 列表方法:改变 lst
lst.sort()
print(lst) # [1, 2, 3] ← 已变✅ 四、学习建议
- 日常操作优先用内置函数:如
len()、sum()、max()—— 简洁、高效、通用。 - 需要修改列表时用方法:如添加、删除、排序(原地)。
避免混淆:
lst.sort()(方法,原地)sorted(lst)(函数,返回新列表)