python 测试代码执行速度 简单代码

本文通过Python对比了不同列表生成方法的性能:for循环、列表推导、map函数、生成器表达式及生成器函数。每种方法都进行了10000次迭代,并使用time模块进行计时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import time

rpes = 10000
repsList = range(rpes)


def timer(func, *args, **kargs):
    start = time.clock()
    for i in repsList:
        ret = func(*args, **kargs)
    elapsed = time.clock() - start
    return elapsed, ret


def forLoop():
    res = []
    for x in repsList:
        res.append(abs(x))
    return res


def listComp():
    return [abs(x) for x in repsList]


def mapCall():
    return list(map(abs, repsList))


def genExpr():
    return list(abs(x) for x in repsList)


def genFunc():
    def gen():
        for x in repsList:
            yield abs(x)

    return list(gen())


print(sys.version)
for test in (forLoop, listComp, mapCall, genExpr, genFunc):
    elapsed, result = timer(test)
    print('-' * 33)
    print('{0} : {1:.4f} => [{2}....{3}]'.format(test.__name__, elapsed, result[0], result[-1]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值