代码
#测试船舰创建List
import time
import numpy as np
import cv2
#方法一
start_time = time.time()
for i in range(10):
lst = []
for i in range(256**3):
lst.append([0])
end_time = time.time()
print("方法一(append追加)建立list时间:",end_time-start_time,"秒")
#print(lst)
#方法二
start_time = time.time()
for i in range(10):
lst =np.zeros((256**3,1), np.uint8)
lst =lst.tolist()
end_time = time.time()
print("方法二(ndarray转list)建立list时间:",end_time-start_time,"秒")
#print(lst)
#方法三
start_time = time.time()
for i in range(10):
lst = [ [0] for n in range(256**3)]
end_time = time.time()
print("方法三(fo循环)建立list时间:",end_time-start_time,"秒")
#print(lst)
#方法四
#start_time = time.time()
#for i in range(10):
# lst = [[0]]*256**3
#end_time = time.time()
#print("方法四(乘法)建立list时间:",end_time-start_time,"秒")
#print(lst)
结果
方法一(append追加)建立list时间: 94.854652881622310 秒
方法二(ndarray转list)建立list时间: 79.400207996368410 秒
方法三(fo循环)建立list时间: 81.705753803253170 秒
#方法四(乘法)建立list时间: 8.0279660224914550 秒
方法四创建的list异常。不能用
本文通过实验比较了四种不同的在Python中创建大型列表的方法:使用append追加元素、利用NumPy转换为list、for循环创建以及使用乘法操作。实验结果显示,尽管方法四速度最快,但创建的列表存在异常,不可使用。

被折叠的 条评论
为什么被折叠?



