📅  最后修改于: 2023-12-03 15:12:21.018000             🧑  作者: Mango
当我们需要向一个列表或者数组中追加元素时,常见的方法是使用 append()
函数。在 Python 中, append()
函数的时间复杂度为 O(1) 。也就是说,将一个元素追加到列表末尾的时间是常量级别的,与列表的长度无关。
不过有时候我们需要往列表中间插入元素,这时候使用 insert()
函数。但是 insert()
函数的时间复杂度为 O(n) ,也就是说,插入元素的时间与列表的长度成正比。因此,如果需要频繁地往列表中间插入元素,就需要考虑使用其他的数据结构。
除此之外,还有一些其他的追加元素的方法,例如使用列表的加号操作符、使用列表解析式等。它们的时间复杂度和 append()
函数的时间复杂度相同,也是 O(1) 。
a = [1, 2, 3]
a.append(4) # O(1)
print(a) # [1, 2, 3, 4]
a.insert(1, 5) # O(n)
print(a) # [1, 5, 2, 3, 4]
a = a + [6] # O(1)
print(a) # [1, 5, 2, 3, 4, 6]
a += [7] # O(1)
print(a) # [1, 5, 2, 3, 4, 6, 7]
b = [i for i in range(10)]
b.append(10) # O(1)
print(b) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]