Python extend() 语法
extend() 是 Python 列表的一个方法,它可以将一个可迭代对象(如列表、元组、字符串等)的所有元素,作为列表的元素追加到列表的末尾。
语法:
list.extend(iterable)说明:
list 是一个列表,iterable 是一个可迭代对象。
注意:
- extend() 方法会直接修改原列表,而不是返回一个新列表。
- append() 添加整个对象作为单个元素,而 extend() 展开可迭代对象的元素逐个添加。
- 使用 extend() 合并列表,比使用 “+=” 或循环 append() 更高效,因为它的内部会优化为批量操作。
Python extend() 摘要
| 使用频率 | 高 |
|---|---|
| 修改原列表 | 是 |
| 官方文档 | 查看 |
Python extend() 示例
接下来,我们通过几个简单的示例来讲解一下 Python extend() 方法是如何使用的。
示例 1:extend() 参数是列表
colors = ['红', '绿', '蓝']
colors.extend(['橙', '黄'])
print(colors)运行结果如下。
['红', '绿', '蓝', '橙', '黄']示例 2:extend() 参数是元组
colors = ['红', '绿', '蓝']
colors.extend(('橙', '黄'))
print(colors)运行结果如下。
['红', '绿', '蓝', '橙', '黄']示例 3:extend() 参数是字符串
colors = ['红', '绿', '蓝']
colors.extend('abc')
print(colors)运行结果如下。
['红', '绿', '蓝', 'a', 'b', 'c']分析:
从上面几个例子可以看出,当 extend() 参数是一个可迭代对象(如列表、元组、字符串等)时,它会将该可迭代对象的每个元素逐个添加。
示例 4:extend() 参数是非可迭代对象
nums = [10, 20, 30]
nums.extend(40)
print(nums)运行结果如下。
(报错)TypeError: 'int' object is not iterable分析:
当 extend() 参数是非可迭代对象,会抛出 TypeError 异常。
extend() 与 append() 的对比
extend() 和 append() 这 2 个方法都可以为列表添加新元素,它们之间的区别如下:
extend():接收一个可迭代对象,然后将该可迭代对象的所有元素逐个添加。append():接收任意对象,直接将该对象作为元素添加。
示例 5:extend() vs append()
colors1 = ['红', '绿', '蓝']
colors1.append('橙')
colors1.append('黄')
print(colors1)
colors2 = ['红', '绿', '蓝']
colors2.extend(['橙', '黄'])
print(colors2)运行结果如下。
['红', '绿', '蓝', '橙', '黄']
['红', '绿', '蓝', '橙', '黄']