{'name':'aa','status1':bb,'status2':cc...}
dict['name']['statusx'] = xxx
上面这两行怎么矛盾呢?
不是应该是 dict['name'] = "new_aa" 这样吗?
还是里面的key其实是 'name''aa'?
如果是这样的话,memory就花在这个两级的dict上面
不要用两级的dict
做成这样子,dict['name' + '-' + 'aa'] = value
【 在 shinn (frank的爱情故事不会再改变) 的大作中提到: 】
: 标 题: Re: dict太占内存,有啥优化的方法么?
: 发信站: 水木社区 (Fri Jun 8 09:31:09 2012), 转信
:
: 好吧。。。
:
: 情况是这样,我需要在内存中维护一个40w条左右的数据表,数据表大小在整个程序运行周期基本不变。每条数据是一个比较简单的数据结构,我们可以想象成
: 一个{'name':'aa','status1':bb,'status2':cc...}
: 在程序运行过程中,我需要从外部接受更新数据(更新的数据包含'name'信息和部分新'status'的值),然后尽可能快的更新数据表。
:
: 我想最快速的方法应该是建一个大的字典,name做key,然后更新的时候
: dict['name']['statusx'] = xxx
:
: 但是python的dict太费内存,我40w个dict内存大概就占10g以上了,而实际上dict的数据转成文本存在硬盘上也就是几十兆。
:
: 我的question是:python是否有优化的dict提供呢?或者有没有更好的方式来解决这个问题?
:
:
:
: 【 在 pulo (普洛米·我们的民族从来不缺乏苦难) 的大作中提到: 】
: : 什么样的数据?什么样的key?不说清楚别人怎么知道怎么“优化”
:
:
: --
:
: [36m※ 修改:·shinn 于 Jun 8 09:33:22 2012 修改本文·[FROM: 64.104.125.*] [m
: [m [1;31m※ 来源:·水木社区
newsmth.net·[FROM: 64.104.125.*] [m
--
[m [1;37m※ 来源:·水木社区
newsmth.net·[FROM: 116.197.180.*] [m