面试题答案
一键面试- 使用
append
方法在列表末尾新增元素4的代码:
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
- 使用
insert
方法在列表开头新增元素0的代码:
my_list = [1, 2, 3]
my_list.insert(0, 0)
print(my_list)
- 性能差异:
append
方法:在列表末尾添加元素时,平均时间复杂度为 $O(1)$。因为列表在内存中通常是连续存储的,在末尾添加元素只需要在已有内存块的末尾追加新元素,不需要移动其他元素,所以性能高效,适合大量数据的追加操作。insert
方法:在列表开头(或其他非末尾位置)插入元素时,平均时间复杂度为 $O(n)$,其中 $n$ 是列表的长度。因为在插入元素时,需要将插入位置之后的所有元素依次向后移动一个位置,随着列表长度增加,移动元素的开销会显著增大,在大量数据操作时,相比append
方法,性能会差很多。