小题3:列表复制

一个列表复制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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值