簡體   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