8
字典与对象-哪个更有效,为什么?
在内存使用和CPU消耗方面,在Python中更有效的方法是-字典还是对象? 背景: 我必须将大量数据加载到Python中。我创建了一个只是字段容器的对象。创建4M实例并将其放入字典中大约需要10分钟和约6GB的内存。字典准备就绪后,只需眨眼即可访问。 示例: 为了检查性能,我编写了两个简单的程序,它们执行相同的操作-一个使用对象,另一个使用字典: 对象(执行时间〜18sec): class Obj(object): def __init__(self, i): self.i = i self.l = [] all = {} for i in range(1000000): all[i] = Obj(i) 字典(执行时间约12秒): all = {} for i in range(1000000): o = {} o['i'] = i o['l'] = [] all[i] = o 问题: 我做错什么了吗?字典比对象快?如果确实字典表现更好,有人可以解释为什么吗?