【发布时间】:2021-06-09 11:09:20
【问题描述】:
在 Python 2.7.16 中:
import json
import pickle
list1 = [{u'key': 1}, {u'key': 2}]
list2 = json.loads('[{"key": 1}, {"key": 2}]')
pickle.dumps(list1)
# outputs '(lp0\n(dp1\nVkey\np2\nI1\nsa(dp3\ng2\nI2\nsa.'
pickle.dumps(list2)
# outputs '(lp0\n(dp1\nVkey\np2\nI1\nsa(dp3\nVkey\np4\nI2\nsa.'
为什么pickle.dumps 的输出对于list1 和list2 不同?
pickle.dumps(list1) 的输出只包含一次字符串key,尽管key 出现在两个列表条目中,所以那里似乎有一些优化。但是,pickle.dumps(list2) 的输出包含字符串 key 的两个实例。
【问题讨论】:
标签: python-2.7 pickle