2012-09-20 423 views
2

我熟悉的节目,但新的Python:在Python中'[0]'是什么意思?

MEM = [0] * memloadsize

什么是 '[0]' 代表什么? 它是一个内置数组吗?

+2

它只是一个与一个元件阵列。 .. 0 ....你可以做'[12]',它将是一个长度为1的数组,其中有一个12 ... –

+4

(提示:教程是学习基本语言结构的好地方!) – 2012-09-20 21:31:45

+0

-1至少不要试图阅读教程 –

回答

12

[]字符,在这种情况下,被用于构建数组文本:

>>> [] 
[] 
>>> [0] 
[0] 
>>> ['a', 'b', 'c'] 
['a', 'b', 'c'] 

乘法阵列是惯用的,并且生成通过重复由给定因子的数组中的元素得到的数组:

>>> ['a'] * 4 
['a', 'a', 'a', 'a'] 
>>> [0] * 9 
[0, 0, 0, 0, 0, 0, 0, 0, 0] 
>>> [0, 1, 2] * 2 
[0, 1, 2, 0, 1, 2] 

注意[]也用于索引到现有的阵列。在这种情况下,[0]访问第一元件阵列中:

>>> a = ['first', 'second', 'third'] 
>>> a[0] 
'first' 
>>> a[2] 
'third' 
>>> 
+0

对于这样一个简单的问题,这只是一个很好的答案。非常感动。 – KRyan

+0

谢谢,你真好! – Claudiu

7

它只是表示一个元素list只包含一个0.乘以memloadsize会给出listmemloadsize零。

+4

严格地说,它会给你一个'memloadsize'引用列表来指向*相同的零*。这种差异与数字无关,但它是*重要的*如果您使用列表乘法,请牢记这一点,因为如果列表中的内容可能是可变的,那么这几乎不是您想要的。 – Ben

+0

谢谢你!我终于明白了在跳上终端并练习之后:mem = [1] * 10 – Sean

2

该命令是概念上等同于这样的:

mem = [] 
for i in xrange(memloadsize): 
    mem.append(0) 
+0

谢谢!现在我知道这是什么意思,我明白你的代码。 – Sean