繁体   English   中英

python-常量字典?

[英]python- constant dictionary?

我只是生成一个python字典列表,然后将其序列化为json。
基本上我的代码是一个循环,我在其中执行以下操作:

ls.append({..values..})

在这之后我不会更改字典。

问题是,python 中是否有一个常量字典,显然这里的重点是内存,因为我知道字典比列表占用更多的内存。 我只需要 json 的{key:value}结构,而不是字典的其他功能。

只是好奇我是否可以稍微优化我的代码。

从本质上讲,JSON 只是一种将更复杂的结构转换为纯文本的标准化方法,任何与 JSON 兼容的应用程序都可以理解。 因此,存储不变的、使用 JSON 的对象的最节省时间和内存的方法是将其转换为 JSON 文本形式并将其存储在字符串中。 这不仅使您免于将字典存储在内存中,而且之后您无需再进行任何 JSON 转换。 您可以将该字符串输出到任何需要接收 JSON 对象的应用程序。

>>> import json
>>> testdict = {}
>>> testdict["pooh bear"] = "honey tree"
>>> jsonstr = json.dumps(testdict)
>>> jsonstr
'{"pooh bear": "honey tree"}'

正如评论指出的那样,Python 没有常量,据我所知,它也没有更多内存受限的字典。 字典被实现为一个哈希表,它是为非常快速的插入和访问而设计的; 每当你有一个非常快的数据结构时,你的权衡通常是它占用大量内存。 这在您能想到的大多数数据结构中都是持久的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM