知识点

Python列表的append与extend

定义

a.append(b) 将b整体作为一个元素添加到列表末尾;a.extend(b) 遍历b并将其中元素逐个添加。append可以接收任意对象,extend需要可迭代对象。两者都原地修改列表并返回None。

例子

append与extend的区别

append-extend.py
a = [1, 2]
a.append([3, 4])
print(a) # [1, 2, [3, 4]]
b = [1, 2]
b.extend([3, 4])
print(b) # [1, 2, 3, 4]

交互探索

对同一个列表参数切换两种方法,比较最终列表的结构和长度。

添加列表时是加入一个元素还是展开?

比较append与extend处理同一列表参数的结果。

正在准备演示…

题集

练习

  1. 设a = [1, 2],执行b = a.append(3) 后,b的值是:

    选择答案
    参考解答

    append() 原地修改列表并返回None,所以b是None,而a变成 [1, 2, 3]。

  2. 对a = [1, 2] 调用a.extend([3, 4]) 后,a的值是:

    选择答案
    参考解答

    extend把列表中的元素逐个追加,得到 [1, 2, 3, 4];如果写成append,结果会是 [1, 2, [3, 4]]。

  3. 关于这几个函数与方法,下列说法正确的是:

    题 methods-claims · choice
    参考解答

    extend原地修改列表并返回None,不会创建新列表,D错。