gpt4 book ai didi

python - 稀疏的字典数组 - 有效的表示

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:16 25 4
gpt4 key购买 nike

在我的一个程序中,我使用了一个稀疏数据数组,它目前是作为整数索引字典实现的,如下所示:

{
0: {some dict with data},
1: {some similar but yet different dict},
10: {...},
100: {...},
200: {...},
etc
}

事实证明,对于我的目的而言,这个字典占用了太多内存。有没有办法更有效地存储稀疏数组?为了减少内存消耗,我准备牺牲访问时间毫秒数。关键范围为0..0xFFFFFF,稀疏度约为30%。

虽然第 3 方模块可能是一个选项,但我对纯 Python 解决方案更感兴趣。

谢谢。

澄清一下,内部字典不受优化,我只是想以更好的方式安排它们。为简单起见,让我们假装我有字符串而不是那里的字典:

data = {
0: "foo",
1: "bar",
10: "...",
100: "...",
200: "...",
etc
}

最佳答案

如果结构是映射,那么类似字典的对象确实是正确的选择,如果内存是个问题,那么显而易见的解决方案是改用文件。最简单的方法可能是使用 pandas系列,可以用作字典,可以直接通过 HDF5 文件工作(参见 http://pandas.pydata.org/pandas-docs/stable/io.html#hdf5-pytables )

或者,对于纯 Python 解决方案,您可以使用 shelve模块。

关于python - 稀疏的字典数组 - 有效的表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22986437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com