列表索引超出随机cayley表的范围

时间:2015-04-14 16:24:05

标签: python math

我正在尝试编写一个代码来生成一个随机的cayley表但是我得到的列表索引超出了范围错误,我无法理解为什么。

这是我的代码:

def randcaytab(n):
    if not n >= 0:
        return False
    table = []
    for i in range(n):
        table.append([])
        for j in range(n):
            for k in range(n):
                (table[j]).append(randint(0,(n-1)))
    return table

我在这一行得到错误:

(table[j]).append(randint(0,(n-1)))

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

table[i].append(randint(0,n-1))

(额外的括号没有造成任何伤害,但会降低可读性)

答案 1 :(得分:0)

试试这段代码。您必须首先填写table,然后迭代它。

def randcaytab(n):
    if not n >= 0:
        return False
    table = []
    for i in range(n):
        table.append([])
    for j in range(n):
        for k in range(n):
            (table[j]).append(randint(0,(n-1)))
    return table