在Python 2.7中访问2d数组时出错

时间:2016-04-20 04:24:56

标签: python arrays python-2.7 2d

我是python中的初学者,我想访问2d矩阵中的每个元素。 我正在使用此代码。

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

Traceback (most recent call last):
  File "C:/Users/--/--/1B.py", line 10, in <module>
    print a[0,2]
TypeError: list indices must be integers, not tuple

但是当我在[0,2]处执行元素时,它给了我一个错误。

{{1}}

任何人都可以帮助我吗?任何帮助都会受到重视。

1 个答案:

答案 0 :(得分:1)

您必须a[0][2],而不是a[0,2]

错误原因

您得到的错误是因为Python不会将0,2识别为有效索引。这并不奇怪 - 索引应该只是纯整数,而不是<integer>, <integer>。 Python解释器将它们识别为两个独立的整数,但不知道如何处理它们。

相反,你真正想要的是这样思考:

  • 执行a[0]会在a中为您提供第一个列表。

  • 正在执行a[0][2]访问a中的第一个列表,然后访问 列表中的第二个元素。

如果您执行了b = a[0]然后调用了b[2],那么您将获得完全相同的行为 - 因为这是您a[0][2]时发生的事情。这也是通常如何在其他语言中访问二维数组的方式,因此在这方面事先了解如何使用它们是很好的。