我是靠谱客的博主 听话大地,最近开发中收集的这篇文章主要介绍python执行效率最高的是_python执行效率疑问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

因为第二种算法是错的,多打印出了许多东西。break 之后合数还是被打印出来了。

PS: 利用 Python 3.2+ 的 functools.lru_cache,可以轻松实现更好的算法。

来,修正后的第二种算法为什么还是比较慢:

>>> time python2 a.py > /dev/null

python2 a.py > /dev/null 1.15s user 0.01s system 99% cpu 1.165 total

>>> time python2 b.py > /dev/null

python2 b.py > /dev/null 1.66s user 0.01s system 99% cpu 1.677 total

>>> time python2 c.py > /dev/null

python2 c.py > /dev/null 1.03s user 0.00s system 99% cpu 1.035 total

>>> time python2 a.py > /dev/null

python2 a.py > /dev/null 1.06s user 0.02s system 98% cpu 1.092 total

>>> time python2 b.py > /dev/null

python2 b.py > /dev/null 1.70s user 0.02s system 99% cpu 1.721 total

>>> time python2 c.py > /dev/null

python2 c.py > /dev/null 1.05s user 0.00s system 99% cpu 1.058 total

第三种算法如下:

def t():

for n in range(1, 200000):

if n <= 1:

continue

if n == 2:

print n

continue

if n % 2 == 0:

continue

i = 3

flag = True

while i * i <= n:

if n % i == 0:

flag = False

break

i += 2

if flag:

print n

t()

查找全局变量比查找局部变量慢。

最后

以上就是听话大地为你收集整理的python执行效率最高的是_python执行效率疑问的全部内容,希望文章能够帮你解决python执行效率最高的是_python执行效率疑问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部