何时使用Python中的哪些数组实现?
什么时候应该使用何时使用Python中的哪些数组实现?,python,numpy,Python,Numpy,什么时候应该使用np.array([1,2,3])vsnp.array([1,2,3])vs[1,2,3]vs[1,2,3]?我知道使用np.array可以在数组上执行列表实现无法执行的某些操作,并且使用[[]]而不是[]可以进行转置,但是使用一个数组而不是其他数组的一般原因是什么?这是numpy与列表以及1d与2d维度的问题: np.array([1,2,3])是一个由3个元素组成的一维数组:type(np.array([1,2,3])返回和np.array([1,2,3])。shape返回
np.array([1,2,3])
vsnp.array([1,2,3])
vs[1,2,3]
vs[1,2,3]
?我知道使用np.array可以在数组上执行列表实现无法执行的某些操作,并且使用[[]]
而不是[]
可以进行转置,但是使用一个数组而不是其他数组的一般原因是什么?这是numpy与列表以及1d与2d维度的问题:
是一个由3个元素组成的一维数组:np.array([1,2,3])
返回type(np.array([1,2,3])
和
返回np.array([1,2,3])。shape
(3,)
是一个具有1行3列的二维数组:np.array([[1,2,3]])
返回type
和
返回shape
(1,3)
是一个包含3个元素的一维列表:[1,2,3]
返回类型([1,2,3])
和
返回len([1,2,3])
3
是一个包含1行和3列的二维列表:[[1,2,3]]
返回type
,
返回len
和1
返回len([[1,2,3]][0])
。请注意,3
,因此此2d列表的第一个元素是1d列表[[1,2,3]][0]=[1,2,3]
shape
属性。列表是基本的python对象,尽管它们有很多用途,但有时您需要使用ndarray
,尤其是需要使用特定的numpy
函数。但是,不要更改ndarray
的所有列表,因为有些操作使用列表更方便。总之,必要时使用ndarray
,否则使用list
至于尺寸,这取决于你需要什么,但如果你不需要二维的东西,那就用一维吧。一个是1D,另一个是2D?如果你发现自己问这个问题时没有清楚地理解其中的区别,那么你需要坚持1D。这意味着你很有可能真的不需要2Doperations@roganjosh昨天,OP提出了一个问题,寻求一维数组的外积,但试图使用矩阵积。你可以问“使用numpy数组的原因是什么”——这应该让你开始:
[1,2,3]
和[[1,2,3]]
不是数组,而是列表。最佳答案取决于您试图对这些对象执行的操作。在这一点明确之前,我认为您需要学习如何将一种形式转换为另一种形式np.array
从列表中生成数组.tolist()执行相反的操作<代码>重塑
是更改数组维度的一种方法。同时学习各自的方法。列表有一组有限但非常有用的方法。数组永远不会取代列表(和/或元组)。列表对象没有维度。我认为,考虑到这个问题,这里的庸俗化比词汇表的准确性更重要