Python中extend()和append()的区别
·
好的,下面我来详细解释 Python 中 extend() 和 append() 方法的区别,并通过例子说明。
核心区别:
append():将整个对象(无论是什么类型)作为一个新元素添加到列表的末尾。extend():将一个可迭代对象(如列表、元组、字符串等)中的每个元素逐一添加到原列表的末尾。
1. append() 方法
append() 方法用于在列表末尾添加一个元素。如果你添加的是一个列表,那么这个整个列表会被当作一个单一元素添加进去。
示例:
list1 = [1, 2, 3]
print("原始列表:", list1)
# 添加一个数字
list1.append(4)
print("添加数字 4 后:", list1)
# 添加另一个列表
list2 = [5, 6]
list1.append(list2)
print("添加列表 [5, 6] 后:", list1)
输出:
原始列表: [1, 2, 3]
添加数字 4 后: [1, 2, 3, 4]
添加列表 [5, 6] 后: [1, 2, 3, 4, [5, 6]]
从结果可以看出,[5, 6] 被整体添加到了 list1 中,成为了它的一个元素。
2. extend() 方法
extend() 方法用于将一个可迭代对象的所有元素逐个添加到原列表的末尾。它会解包传入的可迭代对象。
示例:
list3 = [1, 2, 3]
print("原始列表:", list3)
# 扩展一个列表
list4 = [7, 8]
list3.extend(list4)
print("扩展列表 [7, 8] 后:", list3)
# 扩展一个字符串(字符串也是可迭代的)
list3.extend('ab')
print("扩展字符串 'ab' 后:", list3)
输出:
原始列表: [1, 2, 3]
扩展列表 [7, 8] 后: [1, 2, 3, 7, 8]
扩展字符串 'ab' 后: [1, 2, 3, 7, 8, 'a', 'b']
从结果可以看出,extend([7, 8]) 将 7 和 8 分别添加到了 list3 的末尾。同样,extend('ab') 将字符串 'ab' 中的每个字符 'a' 和 'b' 都添加了进去。
总结对比
| 特性 | append() | extend() |
|---|---|---|
| 目的 | 添加一个整体元素 | 添加多个独立元素 |
| 参数 | 任意对象 | 可迭代对象 (list, tuple, string, etc.) |
| 结果 | 列表长度增加 1 | 列表长度增加 N (N为可迭代对象的长度) |
| 对列表的操作 | [1, 2].append([3, 4]) -> [1, 2, [3, 4]] | [1, 2].extend([3, 4]) -> [1, 2, 3, 4] |
更多推荐


所有评论(0)