Python:在

时间:2015-10-15 23:47:40

标签: python json

我正在尝试将字典保存到流中,以便以后加载它。问题是,当我打印带有numpy数组的字典时,它会在numpy数组前面打印字符串“array”。例如:

import numpy as np
import pprint

a = {"hi":"greeting","celeryman":np.array([4,3,3])}

print(a)

pprint.pprint(a)

以上产生输出

{'celeryman': array([4, 3, 3]), 'hi': 'greeting'}
{'celeryman': array([4, 3, 3]), 'hi': 'greeting'}

所需的输出是

{'celeryman': [4, 3, 3], 'hi': 'greeting'}

我希望通过使用json.load可以毫无问题地阅读。

我是否必须为此编写自己的打印机?

1 个答案:

答案 0 :(得分:0)

你必须通过 -

将numpy数组指定为列表
a = {"hi":"greeting","celeryman":list(np.array([4,3,3]))}

如果您再次想要将作为值'celeryman'附加的列表初始化为numpy数组,那么 -

a=json.load('yourfile.json')
newnplist=np.array(a['celeryman'])