list.extend
是 Python 中用于扩展列表(list)的一个内置方法。它的作用是将一个可迭代对象(如列表、元组、字符串等)中的所有元素添加到当前列表的末尾。与 list.append
方法不同,list.append
是将一个元素添加到列表的末尾,而 list.extend
是将一个可迭代对象的元素逐个添加到列表中。
list.extend(iterable)
iterable
:一个可迭代对象,如列表、元组、字符串、集合、字典的键或值等。list.extend
方法会将 iterable
中的所有元素逐个添加到当前列表的末尾。如果 iterable
是一个字符串,list.extend
会将字符串中的每个字符逐个添加到列表中。
# 示例 1:使用列表扩展列表
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1) # 输出: [1, 2, 3, 4, 5, 6]
# 示例 2:使用元组扩展列表
list1 = [1, 2, 3]
tuple1 = (4, 5, 6)
list1.extend(tuple1)
print(list1) # 输出: [1, 2, 3, 4, 5, 6]
# 示例 3:使用字符串扩展列表
list1 = ['a', 'b', 'c']
str1 = "def"
list1.extend(str1)
print(list1) # 输出: ['a', 'b', 'c', 'd', 'e', 'f']
# 示例 4:使用集合扩展列表
list1 = [1, 2, 3]
set1 = {4, 5, 6}
list1.extend(set1)
print(list1) # 输出: [1, 2, 3, 4, 5, 6]
# 示例 5:使用字典的键扩展列表
list1 = ['a', 'b', 'c']
dict1 = {'d': 1, 'e': 2, 'f': 3}
list1.extend(dict1)
print(list1) # 输出: ['a', 'b', 'c', 'd', 'e', 'f']
# 示例 6:使用字典的值扩展列表
list1 = ['a', 'b', 'c']
dict1 = {'d': 1, 'e': 2, 'f': 3}
list1.extend(dict1.values())
print(list1) # 输出: ['a', 'b', 'c', 1, 2, 3]
list.extend
方法会直接修改原列表,而不是返回一个新的列表。因此,在使用 list.extend
时,原列表的内容会被改变。list.extend
方法只能用于扩展列表,不能用于其他类型的数据结构,如元组、字符串等。如果尝试在其他类型的数据结构上调用 list.extend
方法,会抛出 AttributeError
异常。list.extend
方法只接受一个参数,即一个可迭代对象。如果传递多个参数,会抛出 TypeError
异常。list.extend
方法的时间复杂度为 O(k),其中 k 是可迭代对象的长度。这是因为 list.extend
需要逐个将可迭代对象的元素添加到列表中。list.append
的区别list.append
和 list.extend
都可以用于向列表中添加元素,但它们的行为有所不同。
list.append
:将一个元素添加到列表的末尾。如果传递一个可迭代对象,list.append
会将该可迭代对象作为一个整体添加到列表中,而不是将其元素逐个添加。list.extend
:将一个可迭代对象的所有元素逐个添加到列表的末尾。# 使用 list.append
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(list2)
print(list1) # 输出: [1, 2, 3, [4, 5, 6]]
# 使用 list.extend
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1) # 输出: [1, 2, 3, 4, 5, 6]
list.extend
方法的时间复杂度为 O(k),其中 k 是可迭代对象的长度。这意味着 list.extend
的效率取决于可迭代对象的大小。对于较大的可迭代对象,list.extend
可能需要较长的时间来完成操作。
相比之下,list.append
方法的时间复杂度为 O(1),因为它只需要在列表的末尾添加一个元素。因此,如果需要频繁地向列表中添加单个元素,使用 list.append
会更高效。
list.extend
方法通常用于将多个元素一次性添加到列表中。例如,在处理数据时,可能需要将多个列表或元组的元素合并到一个列表中。在这种情况下,list.extend
是一个非常有用的工具。
# 示例:合并多个列表
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
list1.extend(list2)
list1.extend(list3)
print(list1) # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
list.extend
是 Python 中用于扩展列表的一个内置方法,它可以将一个可迭代对象的所有元素逐个添加到列表的末尾。与 list.append
不同,list.extend
适用于一次性添加多个元素的场景。在使用 list.extend
时,需要注意它会直接修改原列表,并且只接受一个可迭代对象作为参数。
通过合理使用 list.extend
,可以简化代码,提高代码的可读性和效率。在处理列表合并、数据拼接等任务时,list.extend
是一个非常实用的工具。