Python 列表 append() 语法
append() 是 Python 列表的一个方法,它用于在列表的末尾添加一个元素。
语法:
list.append(x)说明:
list 是一个列表,x 是一个元素。x 参数会被作为一个 “单一元素” 添加到列表末尾。如果想要添加多个元素并将它们展开到列表中,应该使用 extend() 方法或 “+” 运算符。
提示:
- list.append(x) 等价于 list[len(list):] = [x]。
- append() 方法是直接在原列表末尾追加元素,而不是返回一个新列表。
- append() 方法不会创建新列表,而 “+” 运算符会创建新列表。
Python 列表 append() 摘要
| 使用频率 | 高 |
|---|---|
| 修改原列表 | 是 |
| 官方文档 | 查看 |
| 相关方法 | extend() |
Python 列表 append() 示例
接下来,我们通过几个简单的例子来讲解一下 Python append() 方法是如何使用的。
示例 1:append() 添加一个元素
colors = ['红', '绿', '蓝']
colors.append('橙')
print(colors)运行结果如下。
['红', '绿', '蓝', '橙']分析:
append() 方法每次只能追加一个元素,如果希望追加多个元素,只需要多次使用 append() 方法即可。
示例 2:append() 添加多个元素
colors = ['红', '绿', '蓝']
colors.append('橙')
colors.append('黄')
colors.append('紫')
print(colors)运行结果如下。
['红', '绿', '蓝', '橙', '黄', '紫']Python 列表 append() 注意事项
在使用 append() 方法时,小伙伴们要注意以下几点。
- append([x, y]) 会创建嵌套列表,而不是添加 2 个元素。
- append() 方法返回 None 值,不可链式调用。
- append() 方法每次只能接受 1 个参数,而不能同时接受多个参数。
示例 3:append() 参数是另一个列表
colors = ['红', '绿', '蓝']
colors.append([1, 2, 3])
print(colors)运行结果如下。
['红', '绿', '蓝', [1, 2, 3]]分析:
需要注意的是,如果 append() 方法的参数是一个列表,那么整个列表会作为原列表的一个元素。
如果你希望合并两个列表,此时不应该使用 append() 方法,而是应该 “+” 运算符或 extend() 方法。
示例 4:“+” 合并两个列表
colors1 = ['红', '绿', '蓝']
colors2 = ['橙', '黄', '紫']
result = colors1 + colors2
print(result)运行结果如下。
['红', '绿', '蓝', '橙', '黄', '紫']示例 5:append() 尝试链式调用
result = [].append(1).append(2)
print(result)运行结果如下。
(报错)AttributeError: 'NoneType' object has no attribute 'append'分析:
第 1 次调用 append() 方法时,即 [].append(1),此时会返回 None 值。然后继续调用 append(),此时相当于对 None 调用 append(),因此会报错。
示例 6:append() 尝试接收多个参数
colors = ['红', '绿', '蓝']
colors.append('橙', '黄')
print(colors)运行结果如下。
(报错)TypeError: list.append() takes exactly one argument (2 given)分析:
append() 方法每次只能接收 1 个参数,小伙伴们要特别注意下面几种写法。
# 错误
colors = ['红', '绿', '蓝']
colors.append('橙', '黄')
# 正确
colors = ['红', '绿', '蓝']
colors.append('橙')
colors.append('黄')
# 正确(使用 extend())
colors = ['红', '绿', '蓝']
colors.extend(['橙', '黄'])append() 与 extend() 的区别
append() 和 extend() 这 2 个方法都可以为列表添加新元素,它们之间的区别如下:
append():接收任意对象,直接将该对象作为元素添加。extend():接收一个可迭代对象,然后将该可迭代对象的所有元素逐个添加。
示例 7:append() vs extend()
colors1 = ['红', '绿', '蓝']
colors1.append('橙')
colors1.append('黄')
print(colors1)
colors2 = ['红', '绿', '蓝']
colors2.extend(['橙', '黄'])
print(colors2)运行结果如下。
['红', '绿', '蓝', '橙', '黄']
['红', '绿', '蓝', '橙', '黄']