Nic*_*las 3 python dictionary numpy type-conversion multidimensional-array
假设我有以下内容numpy.ndarray:
array([[50, 0, 0],
[ 0, 3, 47],
[ 0, 36, 14]])
Run Code Online (Sandbox Code Playgroud)
如何将其转换为这种形式的字典:
{0: {0: 50}, 1: {1: 3, 2: 47}, 2: {1: 36, 2: 14}}
Run Code Online (Sandbox Code Playgroud)
这个问题类似于python 2d array to dict,但无论我多么努力地尝试,我都无法找到类似于那里的答案的解决方案。
假设a为您的阵列,
尝试这个,
{index:{i:j for i,j in enumerate(k) if j} for index,k in enumerate(a)}
Run Code Online (Sandbox Code Playgroud)
结果
{0: {0: 50}, 1: {1: 3, 2: 47}, 2: {1: 36, 2: 14}}
Run Code Online (Sandbox Code Playgroud)
用这个概念创建的字典:
In [18]: dict([[1,'a'],[2,'b']])
Out[18]: {1: 'a', 2: 'b'}
Run Code Online (Sandbox Code Playgroud)