Python中文
首页
教程
问答
标签
搜索
登录
注册
基于Python磁盘的字典
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我在运行一些动态编程代码(试图用暴力推翻Collatz猜想=p),并使用dict存储已经计算出的链的长度。很明显,它在某个时候内存不足。有没有什么简单的方法可以使用<code>dict</code>的某个变体,当它用完空间时,它会将自己的一部分分页到磁盘上?很明显,它比内存中的dict要慢,而且很可能最终会占用我的硬盘空间,但这也可能适用于其他不是那么徒劳的问题。</p> <p>我意识到基于磁盘的字典基本上就是一个数据库,所以我使用sqlite3手动实现了一个,但是我没有用任何聪明的方法,而是让它一次一个地查找数据库中的每个元素。。。大约慢了300倍。</p> <p>最聪明的方法就是创建自己的一组dict,一次只在内存中保存一个,然后以某种高效的方式将它们分页出来?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>磁盘上的散列通常用Berkeley DB或类似的东西来处理-在<a href="http://docs.python.org/library/persistence.html" rel="noreferrer">Python Data Persistence documentation</a>中列出了几个选项。你可以在它前面加一个内存缓存,但我会先测试一下本机性能;如果操作系统缓存到位,它可能也会有同样的结果。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
基于datafram中的1列选择具有最高值的行
4 回答
基于DataFram中的datetime对象间隔获取值
10 回答
基于datafram中的两个条件生成布尔值列
10 回答
基于datafram中的两列删除异常值
9 回答
基于datafram中的值对列表排序
10 回答
基于datafram中的值求和
2 回答
基于Datafram中的值的彩色条形图
2 回答
基于DataFram中的值计数保留前n个项的所有行
5 回答
基于DataFram中的值重命名具有相同列名的列
7 回答
基于datafram中的其他值更改dataframe的值
9 回答
基于datafram中的列值获取更改日期
6 回答
基于datafram中的列创建6个条形子图
8 回答
基于DataFram中的另一列填充缺少的值
10 回答
基于datafram中的唯一值生成大量列
7 回答
基于datafram中的多个列联接
5 回答
基于DataFram中的字符串格式创建额外的行
5 回答
基于datafram中的排序值旋转多行
8 回答
基于datafram中的条件在python中创建记录
5 回答
基于DataFram中的条件检索列
9 回答
基于DataFram中的次要时间增量获取值
6 回答