Discuss / Python / python中列表的元素的添加和修改性能比较

python中列表的元素的添加和修改性能比较

python列表添加元素两种方式:

1、添加方式:

lst = []

lst.append(1)

2、提前定义列表长度,修改每个位置的值

lst = [None]

lst[0] = 1

如果列表长度是百万计,请问这两种方式哪种效率更高呢?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]
lst = [None]
lst[0] = 1

没有这种用法

这是不是一种用空间换时间的方式?

如果是列表百万级别的,lst = [None for _in range(1000000],以修改的方式,效率会高吗?

廖雪峰

#4 Created at ... [Delete] [Delete and Lock User]

None也是一个一个加进去的,跟你直接append没区别

你试试

for i in range(1000000):
    L.append(i)

最多0.5秒,根本不用优化。

如果数据量很大,而且真的很慢的话,考虑Numpy这种用C实现底层的库

好的,谢谢。主要是领导说这种方式有优化,但是我测出来也没有优化,也不知道怎么反驳。


  • 1

Reply