pin_drop当前位置:知识文库 ❯ 图文
Python列表append()方法
概述
append() 是列表最常用的方法之一,用于在列表末尾添加一个元素。它是修改列表最基本的方式,每次调用只能在列表末尾追加一个元素。理解 append() 的工作方式以及它与 extend() 的区别,是正确操作列表的关键。
语法
代码示例
list.append(element)返回值:None(原地修改列表,不返回新列表)
基本用法
添加单个元素
代码示例
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)输出:
代码示例
['apple', 'banana', 'cherry']添加不同类型的元素
代码示例
data = [1, 2, 3]
data.append("hello")
data.append(4.5)
data.append(True)
print(data)输出:
代码示例
[1, 2, 3, 'hello', 4.5, True]添加列表(嵌套)
append() 会将整个对象作为一个元素添加,如果添加的是列表,则形成嵌套列表:
代码示例
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(list2)
print(list1)
print(len(list1))输出:
代码示例
[1, 2, 3, [4, 5, 6]]
4注意:
append()添加的是整个列表对象,而不是列表中的元素。如果要逐个添加元素,应使用extend()方法。
append 与 extend 区别
代码示例
a = [1, 2, 3]
b = [1, 2, 3]
a.append([4, 5])
b.extend([4, 5])
print("append:", a)
print("extend:", b)输出:
代码示例
append: [1, 2, 3, [4, 5]]
extend: [1, 2, 3, 4, 5]常见应用场景
动态构建列表
代码示例
squares = []
for i in range(1, 6):
squares.append(i ** 2)
print(squares)输出:
代码示例
[1, 4, 9, 16, 25]累积结果
代码示例
results = []
for num in [10, 20, 30, 40, 50]:
if num > 25:
results.append(num)
print(results)输出:
代码示例
[30, 40, 50]注意事项
原地修改:
append()是原地修改操作,不会返回新列表。不要写成list = list.append(x),否则list会变成None。
添加整个对象:
append()添加的是对象的引用,不是副本。如果添加的是可变对象,后续修改会影响原列表中的元素。
代码示例
shared = [1, 2]
container = []
container.append(shared)
shared.append(3)
print(container)输出:
代码示例
[[1, 2, 3]]小结
append()在列表末尾添加一个元素,返回None添加列表时会形成嵌套,不会展开元素
与
extend()的核心区别:append添加整体,extend展开添加append()是原地修改,不会创建新列表
练习题
练习1
编写一个函数 filter_positive(numbers),接收一个数字列表,使用 append() 将所有正数收集到新列表中并返回。
练习2
给定两个列表 a = [1, 2, 3] 和 b = [4, 5],分别使用 append() 和 extend() 将 b 添加到 a 中,观察结果有何不同。
常见问题
append() 的返回值是什么?
append() 返回 None。它是原地修改操作,直接在原列表上添加元素,不会返回新列表。常见错误是写成 list = list.append(x),这会导致 list 变成 None。
append() 和 extend() 有什么区别?
append() 将整个参数作为单个元素添加到列表末尾,添加列表时会形成嵌套;extend() 则将可迭代对象中的元素逐个添加到列表末尾,不会嵌套。
append() 添加的是副本还是引用?
append() 添加的是对象的引用,不是副本。如果添加的是可变对象(如列表),后续对该对象的修改会影响原列表中的元素。
append() 能一次添加多个元素吗?
不能。append() 每次只能添加一个元素。如果需要一次添加多个元素,应使用 extend() 方法或将多个元素放入一个列表中再 append。
本文涉及AI创作
内容由AI创作,请仔细甄别