将长二维列表转换为 NumPy 数组不会转换其中的列表

Converting long 2D list to NumPy array dosn't convert the lists inside

我想将我的长 python 二维列表转换为 NumPy 二维数组,但在转换列表后,列表中的列表仍然保留为原始列表:

import numpy as np

# The list should be longer, but this long is enogh to state the problem
# And please don't ask why is it about zombies
list = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'], 
        ['<sup>2</sup>;{{P|Ra Zombie|2}}'],
        ['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}']]

np.array(list)

list
>>> [list(['<sup>4</sup>;{{P|Mummy Zombie|2}}'])
     list(['<sup>2</sup>;{{P|Ra Zombie|2}}'])
     list(['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}'])]

我的预期:

list = [['1', '7', '0'], ['6', '2', '5'], ['7', '8', '9'], ['41', '10', '20']]

np.array(list)

list
>>>[['1' '7' '0']
    ['6' '2' '5']
    ['7' '8' '9']
    ['41' '10' '20']]

这个问题有办法解决吗?或者我应该将此作为错误报告给 NumPy?

首先,您使用列表作为变量名。是built-in类型。因此,您不应使用它。

之后,您的列表数组逐行分别包含 1、1、2 个元素。每行的列数应该相等。

list2 = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'], 
    ['<sup>2</sup>;{{P|Ra Zombie|2}}'],
    ['<sup>4</sup>;{{P|Mummy Zombie|2}}'], 
    ['<sup>5</sup>;{{P|Mummy Zombie|2}}']]

np.array(list2)
>>> array([['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
   ['<sup>2</sup>;{{P|Ra Zombie|2}}'],
   ['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
   ['<sup>5</sup>;{{P|Mummy Zombie|2}}']], dtype='<U33')


np.array(list2).shape
>>>(4, 1)