python - 是否可以在 Python 列表中标记元素?
问题描述
我正在用 Python 中的 sklearn 解决分类问题。我需要尝试不同的算法并为我的测试数据计算每个算法的混淆矩阵。
是否可以将这些矩阵存储在列表中,同时仍然能够将它们称为my_list["SVM"]
,my_list["KNN"]
等my_list["logistic_regression"]
而不是my_list[0]
, my_list[1]
...?
如果不可能,我应该改用什么数据结构?
解决方案
正如评论者所提到的,您可以使用dictionary
标签来标记您的值,其中key
是标签,并且value
是分配给标签的值
In [32]: dct = {}
In [33]: dct['label1'] = 'item1'
In [34]: dct['label2'] = 'item2'
In [35]: dct['label3'] = 'item3'
In [36]: dct
Out[36]: {'label1': 'item1', 'label2': 'item2', 'label3': 'item3'}
或者,如果同一个标签有多个值,请使用列表保存所有值,稍后您也可以附加标签的值
In [37]: dct = {}
In [38]: dct['label1'] = ['item11','item12']
In [40]: dct['label2'] = ['item21','item22', 'item23']
In [44]: dct['label3'] = ['item31','item32', 'item33', 'item34']
In [45]: dct
Out[45]:
{'label1': ['item11', 'item12'],
'label2': ['item21', 'item22', 'item23'],
'label3': ['item31', 'item32', 'item33', 'item34']}
In [51]: dct['label4'] = ['item41', 'item42', 'item43', 'item44', 'item45']
In [52]: dct['label1'].append('item13')
In [53]: dct
Out[53]:
{'label1': ['item11', 'item12', 'item13'],
'label2': ['item21', 'item22', 'item23'],
'label3': ['item31', 'item32', 'item33', 'item34'],
'label4': ['item41', 'item42', 'item43', 'item44', 'item45']}
推荐阅读
- python - 将字典的值转换为键值对
- python - 数据框的分类数据之间的相关性和概率 - 指标(建议)
- subdomain - 如何设置和维护我的多租户 Web 应用程序的 2 个版本?
- bash - 对于目录中的每个子文件夹,删除具有特定扩展名的文件,只有存在具有相同文件名+不同指定扩展名的文件
- javascript - 我如何只提供登录页面 javascript 而不是整个 app.js?
- python - 将类 DOM 结构转换为 markdown 的有效方法
- python - 当导入的函数将self作为参数时如何在pytest中传递self
- node.js - 在集群中运行服务时重复的队列作业
- flutter - Flutter - ImagePicker 不显示选中的图片
- yaml - yaml文件中变量内的变量?