使用嵌套数组值转换字典

时间:2018-08-08 22:31:33

标签: python python-3.x numpy dictionary

我有下面的示例数据,它是默认字典。我正在尝试将其转换为字典,如下面的所需输出所示,但是在获取与原始字典中的键相匹配的键时遇到了麻烦。我可以使用下面的代码获取值。任何提示都将不胜感激。

代码:

res[0].item()

输出:

-1.613331913948059

示例数据:

res

defaultdict(<function __main__.<lambda>>,
            {0: array([-1.6133319], dtype=float32),
             1: array([-1.278326], dtype=float32),
             2: array([-0.68584293], dtype=float32),
             3: array([-1.2741858], dtype=float32),
             4: array([-0.81194735], dtype=float32)})

所需的输出:

{0: -1.6133319,
 1: -1.278326,
 2: -0.68584293,
 3: -1.2741858,
 4: -0.81194735}

3 个答案:

答案 0 :(得分:1)

IIUC,这个字典理解应该可以解决这个问题:

{k:v[0] for k,v in res.items()}

{0: -1.6133319, 1: -1.278326, 2: -0.68584293, 3: -1.2741858, 4: -0.81194735}

答案 1 :(得分:1)

以下对我有用:

{k: res[k].item() for k in res}

答案 2 :(得分:0)

这似乎已经解决了问题

test_res={}

for ids in list(res.keys()):
  test_res[ids]=res[ids].item()