V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fyourm
V2EX  ›  Python

Python 循环问题,求助

  •  
  •   fyourm · 212 天前 · 1896 次点击
    这是一个创建于 212 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近写 python 代码遇到一个问题,写了一段代码,定义了 4 个变量 a=1 ,b=2 ,c=3 ,d=4 ,跑了一下,用时 4 秒,感觉速度可以,但想看看这些变量如果定义为其他值,跑出来的结果是怎么样的,就改了一下代码 a=[1,2,3],b=[1,2,3],c=[1,2,3],d=[1,2,3],然后定义了一个四重循环,
    for aa in a: for bb in b: for cc in c: for dd in d: 把原来代码原样拷贝了放进去,只是把变量名改了一下,结果跑一次循环要 4 分钟,一共要循环 81 次,要 5.4 个小时,郁闷了,循环会把速度拖慢这么多吗,是这四重循环的问题吗,有啥改进方法吗

    11 条回复    2022-05-05 23:14:56 +08:00
    cocong
        1
    cocong  
       212 天前
    加个计时,看哪里最耗时,就知道了。
    Juszoe
        2
    Juszoe  
       212 天前
    跑个 profile ,大概是代码有问题
    alsas
        3
    alsas  
       212 天前
    python 循环本来就慢 用 numba 加速下
    leimao
        4
    leimao  
       212 天前 via iPhone
    zictos
        5
    zictos  
       212 天前
    就这么一点数据量不可能要这么久的,我试了就 1 秒不到
    stein42
        6
    stein42  
       212 天前
    请讲下你用的什么硬件和软件。
    定义 4 个变量用时 4 秒,感觉这里不适合用 python 。
    happybabys
        7
    happybabys  
       212 天前 via Android
    升级硬件试试看
    zictos
        8
    zictos  
       212 天前
    @stein42 #6 哈哈,定义 4 个变量用时 4 秒还感觉速度可以
    fyourm
        9
    fyourm  
    OP
       212 天前
    搞定了,把那段代码 def 成一个函数再放进 4 重循环里,4 个变量作为参数传递进函数就行了,速度又变回 4 秒一次循环了,也不知道为什么,大概我这段代码里面有什么内存泄漏吧
    LeeReamond
        10
    LeeReamond  
       212 天前
    虽然看不懂,定义四个变量跑四秒让我很震惊,但想必 LZ 改的很嗨吧。。
    fyourm
        11
    fyourm  
    OP
       212 天前
    @LeeReamond 代码还是有点小复杂,其中定义了 4 个变量参数,想看看参数的变化会影响我代码的最终结果,所以定义了列表想遍历一下所有参数变化的可能性
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1080 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.