0

所以我有这段代码:

Points = [ [400,100],[600,100],[800,100] , [300,300],[400,300],[500,300],[600,300] ,         [200,500],[400,500],[600,500],[800,500],[1000,500] , [300,700],[500,700][700,700][900,700] , [200,900],[400,900],[600,900] ]

它会产生这个错误:

  line 43, in <module>
    Points = [ [400,100],[600,100],[800,100] , [300,300],[400,300],[500,300],[600,300] , [200,500],[400,500],[600,500],[800,500],[1000,500] , [300,700],[500,700][700,700][900,700] , [200,900],[400,900],[600,900] ]
TypeError: list indices must be integers, not tuple

我能做些什么来修复它?

4

3 回答 3

3

您忘记了两个逗号:

[500,700][700,700][900,700]

现在 Python 看到有人尝试用一个元组索引左侧的列表(700, 700)

>>> [500,700][700,700]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple

第二个[900, 700]“列表”会给你同样的问题,但还没有发挥作用。

通过在以下之间添加逗号来修复它:

[500, 700], [700, 700], [900, 700]

或者,作为完整列表:

 Points = [[400, 100], [600, 100], [800, 100], [300, 300], [400, 300], [500, 300], [600, 300], [200, 500], [400, 500], [600, 500], [800, 500], [1000, 500], [300, 700], [500, 700], [700, 700], [900, 700], [200, 900], [400, 900], [600, 900]]
于 2013-08-13T16:28:42.897 回答
2

你忘了用逗号分隔几个。请参阅修复程序。

>>> Points = [[400,100], [600,100], [800,100], [300,300], [400,300], [500,300], [600,300] ,[200,500], [400,500], [600,500], [800,500], [1000,500], [300,700], [500,700], [700,700],[900,700], [200,900], [400,900], [600,900]]

忘记逗号会导致 Python 认为您正在尝试使用第二个列表访问第一个列表,这会引发错误。

于 2013-08-13T16:28:43.100 回答
2

您需要用以下分隔每个列表(在外部列表中),

Points = [ [400,100],[600,100],[800,100] , [300,300],[400,300],[500,300],[600,300] ,[200,500],[400,500],[600,500],[800,500],[1000,500] , [300,700],[500,700],[700,700],[900,700] , [200,900],[400,900],[600,900] ]
于 2013-08-13T16:30:29.327 回答