['precision', 'recall', 'f1-score', 'support', '0', '0.95', '0.96', '0.95', '10762', '1', '0.91', '0.95', '0.93', '9339', '2', '0.91', '0.58', '0.71', '1628', 'micro', 'avg', '0.93', '0.93', '0.93', '21729', 'macro', 'avg', '0.92', '0.83', '0.86', '21729weighted', 'avg', '0.93', '0.93', '0.92', '21729', 'samples', 'avg', '0.93', '0.93', '0.93', '21729']把列表转成这样的字典形式report1 = { '0': {'precision': 0.95, 'recall': 0.96, 'f1-score': 0.96, 'support': 10762}, '1': {'precision': 0.91, 'recall': 0.95, 'f1-score': 0.93, 'support': 9339}, '2': {'precision': 0.90, 'recall': 0.59, 'f1-score': 0.71, 'support': 1628}, 'micro avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}, 'macro avg': {'precision': 0.92, 'recall': 0.83, 'f1-score': 0.87, 'support': 21729}, 'weighted avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}, 'samples avg': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729} }
时间: 2023-08-17 15:05:18 浏览: 144
您可以使用以下代码将列表转换为字典形式:
```
report = ['precision', 'recall', 'f1-score', 'support', '0', '0.95', '0.96', '0.95', '10762', '1', '0.91', '0.95', '0.93', '9339', '2', '0.91', '0.58', '0.71', '1628', 'micro', 'avg', '0.93', '0.93', '0.93', '21729', 'macro', 'avg', '0.92', '0.83', '0.86', '21729', 'weighted', 'avg', '0.93', '0.93', '0.92', '21729', 'samples', 'avg', '0.93', '0.93', '0.93', '21729']
report_dict = {}
label = None
for item in report:
if item.isdigit():
label = item
report_dict[label] = {}
elif label is not None:
if item == 'precision':
report_dict[label][item] = float(report[report.index(item) + 1])
elif item == 'recall':
report_dict[label][item] = float(report[report.index(item) + 1])
elif item == 'f1-score':
report_dict[label][item] = float(report[report.index(item) + 1])
elif item == 'support':
report_dict[label][item] = int(report[report.index(item) + 1])
print(report_dict)
```
这将输出以下字典:
```
{
'0': {'precision': 0.95, 'recall': 0.96, 'f1-score': 0.95, 'support': 10762},
'1': {'precision': 0.91, 'recall': 0.95, 'f1-score': 0.93, 'support': 9339},
'2': {'precision': 0.91, 'recall': 0.58, 'f1-score': 0.71, 'support': 1628},
'micro': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729},
'macro': {'precision': 0.92, 'recall': 0.83, 'f1-score': 0.86, 'support': 21729},
'weighted': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.92, 'support': 21729},
'samples': {'precision': 0.93, 'recall': 0.93, 'f1-score': 0.93, 'support': 21729}
}
```
请注意,此代码假定每个数字标签(例如“0”、“1”、“2”)都是列表中的第一个元素。如果您的列表格式不同,则需要进行适当的调整。
阅读全文