python两种词典存储方式哪种效率问题

2016-05-24  本文已影响475人  794de449c8d3

dict_datas = {}union_key = (k1,k2,k3,k4,k5)dict_datas[union_key] = amt_value
查询方法 rs_amt_value = dict_datas.get(union_key, 0.0)

dict_datas = {}dict_datas[k1][k2][k3][k4][k5] = amt_value
try: rs_amt_value = dict_datas.get(k1).get(k2).get(k3).get(k4).get(k5)except: rs_amt_value = 0.0

datas_tuple_key.get((tuple))
datas_nested_key[key0][key1][key2][key3][key4]

查询速度对比
测试结果 说明
代码编写复杂度 tuplekey 优 tuplekey编写简洁
构建内存的时间 tuplekey 优 nestedkey 进行了更多的监测,tuplekey只hash一次
构建后内存占用率 tuplekey 弱 nestedkey 是维度加法,tuplekey是维度乘法
查询效率 tuplekey稍快 差别不大 数据量大会放大,内存也会放大

待续

上一篇 下一篇

猜你喜欢

热点阅读