append和extend有什么区别?
参考答案:
append
和extend
都是Python中列表(list)对象的方法,用于向列表添加元素,但它们之间有一些重要的区别。
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]]
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
方法添加列表时,列表中的元素会被逐个添加到原列表中。 append
和extend
都是就地操作(in-place operation),意味着它们会直接修改原列表,而不是返回一个新的列表。