本文介绍 Python 中 List 的初始化方法,并对这几种方法的性能做一个简单的比较。

初始化方法

本文所涉及的初始化指的是用特定的值去初始化列表(List)。比如用 0 初始化一个长度为 1000000 的列表 (List), 可以采用以下几种方法:

  1. 使用循环进行初始化

代码:

1
2
3
lst = []
for i in range(1000000):
lst.append(0)
  1. 使用 [ value for i in range(length)] 语法

代码:

1
lst = [0 for i in range(1000000)]
  1. 使用 [value] * length 语法

代码:

1
lst = [0] * 1000000

性能比较

使用以下代码段:

1
2
3
4
5
6
import time

start = time.time()
# ... 不同的测试代码
end = time.time()
print("time is: ", (end - start) * 1000)

可以对性能进行简单的计数,结果得到:

方法1的时间为: 135 ms
方法2的时间为: 59 ms
方法3的时间为: 3 ms

第三种方法具有明显的性能优势。

以上的方法也可以用来初始化多为 List, 初始值可以为 None。