python - 如何优化大数据量的for计算?
高洛峰
高洛峰 2017-04-17 15:56:05
[Python讨论组]
k = [...]
d = {}
for i in kws:
    d.setdefault(i,0)
    for j in kws:
        if i == j:
            continue
        if i in j:
            d[i] += 1

求解如何提供运算速度?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
PHP中文网
@pykit.runTime
def parse():
    p = {}
    for k in kws:
        for i in k.split():
            p.setdefault(i,[]).append(k)

    for k in kws:
        r = [set(p[i]) for i in k.split()]
        r = set.intersection(*r)
        d[k] = len(r)-1

kws = [...]
d = {}
d.fromkeys(kws,0)
parse()

研究了一下倒排,速度提高十倍以上

黄舟
  1. 如果可能的话,优化算法,降低复杂度

  2. 上jit, numba/pypy

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号