【问题标题】:Python: IndexError: list index out of range and Class objects [closed]Python:IndexError:列表索引超出范围和类对象[关闭]
【发布时间】:2018-05-16 05:22:58
【问题描述】:

我希望二维列表。并且列表中的每个元素都设置为唯一的类对象。但我得到了错误(请看截图)。我怎样才能完成它?谢谢!

【问题讨论】:

  • 1.所有代码都必须作为 text 包含在您的问题中。 2. 所有错误和回溯都必须作为文本包含在您的问题中。图片是最简单的方法,但会让您的问题难以搜索和回答。
  • 我不知道如何将类对象分配到列表中。我应该怎么做?有什么想法吗?
  • 我需要 Vertion[0][1] 不等于 Vertion[1][1]。如何在每个元素中创建独特的对象?
  • 你没有回复我之前的评论,也没有相应地更新你的问题。

标签: python python-3.x class object error-handling


【解决方案1】:

在将值分配给二维数组 Vertion 之前,您必须创建一个空列表,其中包含所需的确切行数和列数。然后,只有您可以为每行中的每一列分配值。在这里你可以看看:

Vertion = [[0 for x in range(128)] for y in range(2)] 

更新:

因此,要为每行中的列分配值,您可以这样尝试:

for i in range(2):
    for j in range(128):
        Vertion[i][j] = Block()

【讨论】:

  • 但我无法将类对象分配到列表中。如何解决?
【解决方案2】:
Vertion = [[], []]

因为Vertion是一个有两个空列表的列表,所以for循环应该是这样的

for i in range(len(Vertion)):
    for j in range(128):
        Vertion[i].append(Block())

【讨论】:

  • 非常感谢!谢谢!
  • 但是这个方法不能创建唯一的对象。我不想要 Vertion[0][1]==Vertion[1][1]。我需要版本 [0][1] != 版本 [1][1]。如何解决这个问题?谢谢!
  • @Yifei 独特是什么意思?发布您的代码,Vertion[0][1] 不应该等于 Vertion[1][1]
猜你喜欢
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
相关资源
最近更新 更多