如何在Python中声明数组?
当前回答
variable = []
现在变量指向一个空列表*。
当然,这是赋值,不是声明。因为Python是动态类型的,所以在Python中没有办法说“这个变量永远不应该指列表以外的任何东西”。
*默认的内置Python类型称为列表,而不是数组。它是一个任意长度的有序容器,可以容纳异构的对象集合(它们的类型无关紧要,可以自由混合)。这不应该与array模块混淆,后者提供了一种更接近C数组类型的类型;内容必须是同质的(都是同一类型),但是长度仍然是动态的。
其他回答
计算时,使用numpy数组:
import numpy as np
a = np.ones((3,2)) # a 2D array with 3 rows, 2 columns, filled with ones
b = np.array([1,2,3]) # a 1D array initialised using a list [1,2,3]
c = np.linspace(2,3,100) # an array with 100 points beteen (and including) 2 and 3
print(a*1.5) # all elements of a times 1.5
print(a.T+b) # b added to the transpose of a
这些numpy数组可以从磁盘保存和加载(甚至压缩),具有大量元素的复杂计算像c一样快。
多用于科学环境。更多信息请看这里。
你不需要在Python中声明任何东西。你只需使用它。我建议你从http://diveintopython.net开始。
你实际上不需要声明东西,但这是在Python中创建数组的方法:
from array import array
intarray = array('i')
有关更多信息,请参阅数组模块:http://docs.python.org/library/array.html
现在可能你不想要数组,而是一个列表,但其他人已经回答了这个问题。:)
您可以创建列表并将其转换为数组,或者您可以使用numpy模块创建数组。下面是几个例子来说明这一点。Numpy还使使用多维数组变得更容易。
import numpy as np
a = np.array([1, 2, 3, 4])
#For custom inputs
a = np.array([int(x) for x in input().split()])
您还可以使用使用输入作为矩阵维数的重塑函数将该数组重塑为2X2矩阵。
mat = a.reshape(2, 2)
Python称它们为列表。你可以用方括号和逗号写一个列表文字:
>>> [6,28,496,8128]
[6, 28, 496, 8128]