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