好的,下面我来详细解释 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])78 分别添加到了 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]
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐