一个列表复制100分怎么复制的快:
import time
import copy
def run1():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
list(a)
end = time.clock()
print('list方法耗时:%f' % (end - start))
def run2():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
copy.copy(a)
end = time.clock()
print("copy.copy耗时:%f" % (end - start))
def run3():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
copy.deepcopy(a)
end = time.clock()
print("copy.deepcopy耗时:%f" % (end - start))
def run4():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
b_list = []
b_list.append(i for i in a)
end = time.clock()
print("循环添加耗时:%f" % (end - start))
def run5():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
b_list = []
b_list = a[:]
end = time.clock()
print("a[:]复制耗时:%f" % (end - start))
def run6():
a = [1, 2, 3]
start = time.clock()
for i in range(100):
b_list = []
b_list = a
end = time.clock()
print("引用复制耗时:%f" % (end - start))
if __name__ == '__main__':
run1()
run2()
run3()
run4()
run5()
run6()
结果
list方法耗时:0.000029
copy.copy耗时:0.000066
copy.deepcopy耗时:0.000499
循环添加耗时:0.000056
a[:]复制耗时:0.000016
引用复制耗时:0.000004