PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
[问题] 迭代次数太高,字典问题
楼主:
qaz28787493
(jonny)
2022-05-13 08:59:19
题目我就简单说
我有一个类,名称叫dot
class dot(object) :
def __init__(self) :
self. Attr1={}
Example=dot()
while(k<=10000):
result=繁琐的计算过程,需要用到上一次的Attr1的值
Example. Attr1[k] =result
k=k+1
请问我该怎么让我这方式的内存压力小一点,我的电脑内存是16的
作者:
lycantrope
(阿宽)
2022-05-13 09:19:00
可以用functools.lru_cache不用自己刻内存不够,也可以物件转pickle暂存硬盘
作者:
Schottky
(顺风相送)
2022-05-13 11:09:00
或许你根本不需要用字典记住全部结果重新审视一下那个繁琐的计算过程,也许可以大幅简化
作者:
single4565
(leekdumpling韭菜水饺)
2022-05-13 12:48:00
试试看field?
楼主:
qaz28787493
(jonny)
2022-05-13 13:37:00
Sch大 我了解了Single大,我去了解一下lycan大 好,知道了
作者:
mikemike1021
(mike)
2022-05-13 14:22:00
result 如果只是单一值的话 用 list 或 array,然后可以先把需要的大小弄出来,不要让他自己加,最惨的状况内存的需求可能是原先的两倍另外如果不需要中间结果,只存上一次的结果过来用即可
作者:
polom
(Polom)
2022-05-13 23:33:00
考虑用 nympy dtype
作者: ssivart
2022-05-14 01:31:00
看算法能不能优化
作者: wray (Rayf)
2022-05-16 21:53:00
只留上一次要用的值,太旧用不到的把它放掉
作者:
celestialgod
(天)
2022-05-17 13:05:00
试试看Cython Linux只要装好g++ pythondev windows比较麻烦要装VC++ 但是效能应该可以好很多
https://tinyurl.com/yusbeekf
我那时候把Python改成Cython快了10倍以上
作者:
Sunal
(SSSSSSSSSSSSSSSSSSSSSSS)
2022-05-17 16:30:00
先动算法再换 interpreter 吧...
楼主:
qaz28787493
(jonny)
2022-05-20 23:43:00
谢谢大家的意见,小弟还在处理中
继续阅读
Re: [问题] 台湾车牌的正规输入
ides13
[问题] 搭建pip-server
ctr1
[问题] 电影排行爬虫
lhsilyvm
[问题] 金融数据处理 - 数字转时间
barusu
[问题] 台湾车牌的正规输入
yahahah
[问题] 资料未找到的错误
Yeeee2018
[问题] 推荐有详细讲解matplotlib的书
peter308
[问题] 请问外面的find email原理是?
jackjenny
[资讯] AIGO征求队员有降噪或物件识别经验佳
seiching
[问题] import pandas 程式执行速度问题
Dmix
Links
booklink
Contact Us: admin [ a t ] ucptt.com