首页 > 解决方案 > Python - 创建具有多个键的字典,其中值也是字典

问题描述

我有一本字典:

test={"11.67":1,"12.67":2}

我想要的输出如下:

{'11.67': {'value': '11'}, '12.67': {'value': '12}}

第二个字典中的值是对键进行拆分时的第一个索引。

我写了这个:

test={"11.67":1,"12.67":2}
indexes=test.keys()
final_dict={}
temp_dict={}
for index in indexes:
    b=index.split('.')[0]
    temp_dict['value']=b;
    final_dict.update({index:temp_dict})
print (final_dict)

但结果是错误的:

{'11.67': {'value': '12'}, '12.67': {'value': '12'}}

不知道出了什么问题。谢谢

还有一个更新: 我必须使用 dict_keys索引。我必须从代​​码的那一部分开始。

标签: pythonpython-3.xdictionary

解决方案


你可以这样做:

test = {"11.67": 1, "12.67": 2}
res = {key: {"value": str(int(float(key)))} for key in test}
# {'11.67': {'value': '11'}, '12.67': {'value': '12'}}

我首先将字符串转换为floats,然后通过使用丢弃小数部分int并再次转换回str

Carsten 的回答很好地解释了您的代码中出了什么问题。


推荐阅读