直接上链接 字典存储的四种方式
2. 嵌套式的collections.defaultdict的存储import collections # 嵌套式的字典初始化 tmp = collections.defaultdict(lambda:collections.defaultdict(int)) tmp['a']['b'] = 1 print(tmp) >>> defaultdict(at 0x7feae44bc510>, {'a': defaultdict( , {'b': 1})}) import pickle pickle.dumps(tmp) >>> PicklingError: Can't pickle at 0x7feae4daf620>: attribute lookup on __main__ failed
上面的运行结果可以看出,想要按照普通字典的方式保存嵌套式的defaultdict会报错,对于python3可以根据如下方式保存:
import dill as pickle t = pickle.dumps(tmp) pickle.loads(t) >>> defaultdict(()>, {'a': defaultdict(int, {'b': 1})})
可以自行去了解dill这个库



