Python 列表 append() 方法

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)

运行结果如下。

['红', '绿', '蓝', '橙', '黄']
['红', '绿', '蓝', '橙', '黄']

上一篇: Python 列表方法

下一篇: extend()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号