括号运算符如何在python中工作?

时间:2013-11-29 09:43:29

标签: python

我正在查看用python编写的代码,其中一部分看起来像这样。

n = len(A)
T = n * [False]
for i in xrange(n + 1):
    T[A[i]] = True

其中A是整数值数组。我假设第二行创建了一个大小为n的列表,其值为false,但我不清楚T [A [i]]是如何工作的。它是否在A [i]访问T的元素?但是A [i]不一定在0和n之间。

3 个答案:

答案 0 :(得分:2)

确实在T访问了A[i]的元素。确实A[i]可能不在0和n之间。但这就是代码的作用。

因此,如果您期望T[A[i]]应该有效,可能之前有一些代码,可以确保A[i]始终在0和n之间。

答案 1 :(得分:1)

A[i]可能是一个数字,是的,如果它的长度是>n,你将得到一个IndexError。

传递的实际变量类似于:

T[number]

这是一个小例子,我们有A变量:

>>> A = [4, 3, 2, 1, 0]

我们将T变量设为:

>>> T = ['A', 'B', 'C', 'D', 'E']

然后我们进行循环:

>>> for i in range(5):
    print T[A[i]]

结果:

E
D
C
B
A

只要A[i]不高于n,就可以了。 希望这有帮助!

答案 2 :(得分:0)

见farid,

你对T [A [i]]感到困惑。 让我告诉你......

A和T都是数组。

对于T [A [i]] = True, A [i]是数组T的索引。

因为T的长度仅为n。 因此,如果阵列A具有所有整数值< n(ARRAY T的长度)。 代码可以正常工作。

但如果不是: Python将通过 索引超出范围 异常