如何在Python中声明数组?


当前回答

一些贡献建议python中的数组由列表表示。这是不正确的。Python在标准库模块array "array.array()"中有array()的独立实现,因此将两者混淆是不正确的。列表在python中是列表,所以要小心使用的命名法。

list_01 = [4, 6.2, 7-2j, 'flo', 'cro']

list_01
Out[85]: [4, 6.2, (7-2j), 'flo', 'cro']

list和array.array()之间有一个非常重要的区别。虽然这两个对象都是有序序列,但array.array()是有序齐次序列,而list是非齐次序列。

其他回答

我认为你(意思是)想要一个列表与前30个单元格已经填补。 所以

   f = []

   for i in range(30):
       f.append(0)

斐波那契数列就是一个例子。 参见Project Euler中的问题2

variable = []

现在变量指向一个空列表*。

当然,这是赋值,不是声明。因为Python是动态类型的,所以在Python中没有办法说“这个变量永远不应该指列表以外的任何东西”。


*默认的内置Python类型称为列表,而不是数组。它是一个任意长度的有序容器,可以容纳异构的对象集合(它们的类型无关紧要,可以自由混合)。这不应该与array模块混淆,后者提供了一种更接近C数组类型的类型;内容必须是同质的(都是同一类型),但是长度仍然是动态的。

继Lennart之后,还有实现同构多维数组的numpy。

我有一个字符串数组,需要一个具有相同长度的布尔值的数组,初始化为True。这就是我所做的

strs = ["Hi","Bye"] 
bools = [ True for s in strs ]

你实际上不需要声明东西,但这是在Python中创建数组的方法:

from array import array
intarray = array('i')

有关更多信息,请参阅数组模块:http://docs.python.org/library/array.html

现在可能你不想要数组,而是一个列表,但其他人已经回答了这个问题。:)