列表分配索引超出范围Python

时间:2014-09-25 00:34:32

标签: python

当我尝试运行此代码时,我在第7行中得到列表分配索引超出范围错误。

import random
    Matrix = [[0 for x in range(37)] for x in range(37)] 
    for i in range(0,37):
        for k in range(3,16):
            for j in range(0,k):
                y=random.randint(0,37)
                Matrix[i][y]=1
    for row in Matrix:
        print (row)

我做错了什么?任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

0 <= random.randint(0,37) <= 37始终为True。

我的意思是你将是37岁!

但是Matrix是列表的列表,其中索引0来自 36 而不是37

如果您获得Matrix[i][37],那么您会看到索引超出范围错误 !!

FIX

         y=random.randint(0,37)

         y=random.randint(0,36)