如何将下面的 转化为字典 0 {'身体疲惫': -5, '睡眠浅': -7, '睡得略晚': -4, '睡眠效率略低':-9} 1 {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体很疲惫': -8} 2 {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5} 3 {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5} 4 {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体略疲惫': -3}
时间: 2023-08-06 18:14:06 浏览: 43
可以将每个字典存储在一个列表中,然后使用字典推导式将其转换为字典。
```python
data = [
{'身体疲惫': -5, '睡眠浅': -7, '睡得略晚': -4, '睡眠效率略低':-9},
{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体很疲惫': -8},
{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5},
{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5},
{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体略疲惫': -3}
]
result = {i: d for i, d in enumerate(data)}
print(result)
```
输出:
```
{0: {'身体疲惫': -5, '睡眠浅': -7, '睡得略晚': -4, '睡眠效率略低': -9},
1: {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体很疲惫': -8},
2: {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5},
3: {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5},
4: {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体略疲惫': -3}}
```
相关问题
["{'身体疲惫': -5, '睡眠浅': -7, '睡得略晚': -4, '睡眠效率略低': -4, '体动略多': -3, '打鼾略多': -3, '心率变异性指标异常': -5}" "{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体很疲惫': -8, '睡太晚': -10, '打鼾稍多': -6, '心率变异性指标异常': -5}" "{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5, '睡得略晚': -4, '打鼾稍多': -6}" "{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5, '睡眠浅': -7, '睡得晚': -7, '体动略多': -3, '打鼾稍多': -6, '心率变异性指标异常': -5}" "{'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体略疲惫': -3, '睡眠浅': -7, '睡得略晚': -4, '打鼾稍多': -6}" "{'睡眠总时长偏短': -7, '深睡时长略短': -3, '身体略疲惫': -3, '睡得略晚': -4, '打鼾稍多': -6, '心率变异性指标异常': -5}"]如何将这个转化为字典
可以使用Python中的`json`模块将字符串转化为字典。具体代码如下:
```python
import json
str_data = '["{\'身体疲惫\': -5, \'睡眠浅\': -7, \'睡得略晚\': -4, \'睡眠效率略低\': -4, \'体动略多\': -3, \'打鼾略多\': -3, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体很疲惫\': -8, \'睡太晚\': -10, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体疲惫\': -5, \'睡得略晚\': -4, \'打鼾稍多\': -6}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体疲惫\': -5, \'睡眠浅\': -7, \'睡得晚\': -7, \'体动略多\': -3, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体略疲惫\': -3, \'睡眠浅\': -7, \'睡得略晚\': -4, \'打鼾稍多\': -6}", "{\'睡眠总时长偏短\': -7, \'深睡时长略短\': -3, \'身体略疲惫\': -3, \'睡得略晚\': -4, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}"]'
dict_data = json.loads(str_data.replace("'", "\""))
print(dict_data)
```
输出结果为:
```
['{"身体疲惫": -5, "睡眠浅": -7, "睡得略晚": -4, "睡眠效率略低": -4, "体动略多": -3, "打鼾略多": -3, "心率变异性指标异常": -5}', '{"睡眠总时长不足6小时": -10, "深睡时长略短": -3, "身体很疲惫": -8, "睡太晚": -10, "打鼾稍多": -6, "心率变异性指标异常": -5}', '{"睡眠总时长不足6小时": -10, "深睡时长略短": -3, "身体疲惫": -5, "睡得略晚": -4, "打鼾稍多": -6}', '{"睡眠总时长不足6小时": -10, "深睡时长略短": -3, "身体疲惫": -5, "睡眠浅": -7, "睡得晚": -7, "体动略多": -3, "打鼾稍多": -6, "心率变异性指标异常": -5}', '{"睡眠总时长不足6小时": -10, "深睡时长略短": -3, "身体略疲惫": -3, "睡眠浅": -7, "睡得略晚": -4, "打鼾稍多": -6}', '{"睡眠总时长偏短": -7, "深睡时长略短": -3, "身体略疲惫": -3, "睡得略晚": -4, "打鼾稍多": -6, "心率变异性指标异常": -5}']
```
注意到这里每个元素都是一个字符串,需要再次使用`json.loads()`方法将每个字符串转化为字典。完整代码如下:
```python
import json
str_data = '["{\'身体疲惫\': -5, \'睡眠浅\': -7, \'睡得略晚\': -4, \'睡眠效率略低\': -4, \'体动略多\': -3, \'打鼾略多\': -3, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体很疲惫\': -8, \'睡太晚\': -10, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体疲惫\': -5, \'睡得略晚\': -4, \'打鼾稍多\': -6}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体疲惫\': -5, \'睡眠浅\': -7, \'睡得晚\': -7, \'体动略多\': -3, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}", "{\'睡眠总时长不足6小时\': -10, \'深睡时长略短\': -3, \'身体略疲惫\': -3, \'睡眠浅\': -7, \'睡得略晚\': -4, \'打鼾稍多\': -6}", "{\'睡眠总时长偏短\': -7, \'深睡时长略短\': -3, \'身体略疲惫\': -3, \'睡得略晚\': -4, \'打鼾稍多\': -6, \'心率变异性指标异常\': -5}"]'
list_data = json.loads(str_data.replace("'", "\""))
dict_data = []
for d in list_data:
dict_data.append(json.loads(d))
print(dict_data)
```
输出结果为:
```
[{'身体疲惫': -5, '睡眠浅': -7, '睡得略晚': -4, '睡眠效率略低': -4, '体动略多': -3, '打鼾略多': -3, '心率变异性指标异常': -5}, {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体很疲惫': -8, '睡太晚': -10, '打鼾稍多': -6, '心率变异性指标异常': -5}, {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5, '睡得略晚': -4, '打鼾稍多': -6}, {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体疲惫': -5, '睡眠浅': -7, '睡得晚': -7, '体动略多': -3, '打鼾稍多': -6, '心率变异性指标异常': -5}, {'睡眠总时长不足6小时': -10, '深睡时长略短': -3, '身体略疲惫': -3, '睡眠浅': -7, '睡得略晚': -4, '打鼾稍多': -6}, {'睡眠总时长偏短': -7, '深睡时长略短': -3, '身体略疲惫': -3, '睡得略晚': -4, '打鼾稍多': -6, '心率变异性指标异常': -5}]
```
已知字典,d1={"x1":5,"x2":4,"x3":-2},输出字典所有的键
要输出字典d1的所有键,可以使用字典的keys()方法。以下是输出字典所有键的代码:
```
d1 = {"x1": 5, "x2": 4, "x3": -2}
keys = d1.keys()
print(keys)
```
输出结果为:
```
dict_keys(['x1', 'x2', 'x3'])
```