开发者社区> 问答> 正文

请问在Python中如何优化包含多个判断表达式的顺序,提升程序性能和健壮性?

已解决

请问在Python中如何优化包含多个判断表达式的顺序,提升程序性能和健壮性?

展开
收起
1780169608831412 2021-10-29 16:57:17 629 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,对于and,应该把满足条件少的放在前面,对于or,把满足条件多的放在前面。如:

    a = range(2000)  
    %timeit -n 100 [i for i in a if 10 < i < 20 or 1000 < i < 2000]
    %timeit -n 100 [i for i in a if 1000 < i < 2000 or 100 < i < 20]     
    %timeit -n 100 [i for i in a if i % 2 == 0 and i > 1900]
    %timeit -n 100 [i for i in a if i > 1900 and i % 2 == 0]
    100 loops, best of 3: 287 ?s per loop
    100 loops, best of 3: 214 ?s per loop
    100 loops, best of 3: 128 ?s per loop
    100 loops, best of 3: 56.1 ?s per loop
    
    2021-10-29 16:57:46
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载