Vei*_*pse 1 python dictionary numpy python-3.x
我有一个numpy阵列
[['5.1', '3.5', '1.4', '0.2', 'Setosa'],
['4.9', '3.0', '1.4', '0.2', 'Versicolor']]
Run Code Online (Sandbox Code Playgroud)
如何将其转换为字典
{['5.1', '3.5', '1.4', '0.2']:'Setosa', ['4.9', '3.0', '1.4', '0.2']:'Versicolor'}
Run Code Online (Sandbox Code Playgroud)
您当前指定的词典无效,因为词典的键不能是list对象.但是,您可以将它们更改为元组.由于元组是不可变的,它们可以用作键.
转换您提供的示例案例的字典理解可能如下所示:
a = numpy.array([['5.1', '3.5', '1.4', '0.2', 'Setosa'],
['4.9', '3.0', '1.4', '0.2', 'Versicolor']])
b = {tuple(x[:-1]) : x[-1] for x in a}
Run Code Online (Sandbox Code Playgroud)
它从每个列表的前n-1个元素创建一个元组,然后将最后一个元素指定为值.生成的字典如下所示:
{('5.1', '3.5', '1.4', '0.2'): 'Setosa', ('4.9', '3.0', '1.4', '0.2'): 'Versicolor'}
Run Code Online (Sandbox Code Playgroud)