跳到主要内容

append和extend有什么区别?

参考答案:

appendextend都是Python中列表(list)对象的方法,用于向列表添加元素,但它们之间有一些重要的区别。

  1. append方法: append方法用于在列表的末尾添加一个元素。这个元素可以是任何类型的数据,包括列表。当使用append方法添加列表时,整个列表会被作为一个元素添加到原列表的末尾,而不是将列表中的元素逐个添加到原列表中。

示例:

my_list = [1, 2, 3]
my_list.append(4)       # 在列表末尾添加一个整数
print(my_list)          # 输出: [1, 2, 3, 4]

another_list = [5, 6]
my_list.append(another_list)  # 在列表末尾添加一个列表
print(my_list)          # 输出: [1, 2, 3, 4, [5, 6]]
  1. extend方法: extend方法也用于在列表的末尾添加元素,但它接受一个可迭代对象(如列表、元组、字符串等)作为参数,并将可迭代对象中的元素逐个添加到原列表中,而不是将整个可迭代对象作为一个元素添加。

示例:

my_list = [1, 2, 3]
my_list.extend([4, 5])    # 在列表末尾添加多个元素
print(my_list)            # 输出: [1, 2, 3, 4, 5]

another_list = [6, 7]
my_list.extend(another_list)  # 在列表末尾添加另一个列表中的元素
print(my_list)            # 输出: [1, 2, 3, 4, 5, 6, 7]

总结:

  • append方法用于在列表末尾添加一个元素,而extend方法用于在列表末尾添加多个元素。
  • 当使用append方法添加列表时,整个列表会被作为一个元素添加到原列表中;而使用extend方法添加列表时,列表中的元素会被逐个添加到原列表中。
  • appendextend都是就地操作(in-place operation),意味着它们会直接修改原列表,而不是返回一个新的列表。