Python 这个物体叫什么?

Python 这个物体叫什么?,python,arrays,list,matrix,Python,Arrays,List,Matrix,我有以下形式的矩阵: a=[[1 2 3 4] [2 5 7 6] [5 4 2 1]] (例如)。 首先,每个元素的名称是什么?即[1 3 4]是什么类型的对象(不带逗号的列表)。其次,我将如何将这些“事物”转化为一个列表,以便矩阵如下所示: b=[[1, 2, 3, 4] [2, 5, 7, 6] [5, 4, 2, 1]] ? 我从一个列表开始,然后使用insert将每个列表替换为该列表的矩阵,并将其转换为一个。然而,我有必要这样做,因为我需要保持列表的顺序并乘以矩阵。 提前感谢您的帮

我有以下形式的矩阵:

a=[[1 2 3 4]
[2 5 7 6]
[5 4 2 1]]
(例如)。 首先,每个元素的名称是什么?即[1 3 4]是什么类型的对象(不带逗号的列表)。其次,我将如何将这些“事物”转化为一个列表,以便矩阵如下所示:

b=[[1, 2, 3, 4]
[2, 5, 7, 6]
[5, 4, 2, 1]]
?

我从一个列表开始,然后使用insert将每个列表替换为该列表的矩阵,并将其转换为一个。然而,我有必要这样做,因为我需要保持列表的顺序并乘以矩阵。
提前感谢您的帮助

正如Fourtheye所说,它可能是一个。如果不使用逗号,就无法定义列表。 无法执行您的第一个代码段

不过,这看起来像是
str(numpy.array(a))
的输出,它不显示逗号

>>> str(np.array(a))
[[1 2 3]
 [4 5 6]
 [7 8 9]]

根据前面的答案,这个快速演示可能会回答您的问题

>>>import numpy as np
>>> a = np.array([[1, 2, 3, 4], [2, 5, 7, 6], [5, 4, 2, 1]])
>>> a
array([[1, 2, 3, 4],
   [2, 5, 7, 6],
   [5, 4, 2, 1]])
>>> print(a)
[[1 2 3 4]
 [2 5 7 6]
 [5 4 2 1]]

>>> b = list(a)
>>> print(b)
[array([1, 2, 3, 4]), array([2, 5, 7, 6]), array([5, 4, 2, 1])]

>>> b = [list(e) for e in a]
>>> b
[[1, 2, 3, 4], [2, 5, 7, 6], [5, 4, 2, 1]]
因此,“[1 3 4]”被称为numpy数组

--修改矩阵--

该对象是一个列表,转换为列表的方式如下:

as_list = a.tolist()

您使用的是Numpy吗?在Python中,不带逗号的列表在语法上是错误的。
type(a)
在第一个“矩阵”上说了什么?type(a)上说的是numpy.matrixlib.defmatrix.matrix-绝对不知道那是什么意思!我对问题进行了一点编辑@rickardsjogren为什么要将其转换为列表?打印出来的东西看起来如何并不重要-重要的是数据类型是什么,这是你想要的还是不想要的。我对我的问题进行了一些编辑,以解释我是如何得出一个结论的!评论中指出,这是一个
numpy.matrix
,此解决方案对其不起作用。@RickardSjogren numpy矩阵对象是ndarray的一个子类,因此它们继承ndarray的所有属性和方法,而np.array只是创建ndarray的一个方便函数。有一些区别:
[列表(e)代表a中的e]
在矩阵上给出了
[[matrix([[1,2,3,4]])、[matrix([[2,5,7,6]])、[matrix([[5,4,2,1]])]]
,这不是所要求的。非常好。如果“评论”不需要点击就可以显示,那么可以避免对附加评论的忽略。这显然是一段较长代码的一部分,但看起来我可以用它来帮助。我以前试过托利斯,但我想我试错了。将让您知道这是否解决了问题!谢谢我必须对a的每一个元素使用并执行此操作,因为它不适用于整个矩阵。对每个元素都这样做(得到那个位),然后用新的列表形式替换当前元素,这样元素在矩阵中的顺序仍然相同?因此,我使用了:list\u form=element.tolist()中的元素作为第一位
as_list = a.tolist()