错误"属性错误:' NoneType'对象没有属性'追加'"

时间:2017-10-10 03:02:56

标签: python

我看到很多关于同样错误的问题,但我找不到任何似乎是同一个错误的人。

我的代码的一部分(似乎与我相关)是:

falta = [0]
x = 0
o = 0
aux = a
while a in range(aux, len(repetido)):
    print("a %s" %a)
    x = 0
    while int(repetido[a].academia) != int(vetor[x].academia):
        print("repetido %s" % repetido[a].academia)
        print("vetor %s" %vetor[x].academia)
        x = x + 1
        if a == aux:
            falta[0] = int(vetor[x].inscricao)
            print("este eh o primeiro falta: %s" %falta[0])
        else:
            falta.append(int(vetor[x].inscricao))
        falta = random.shuffle(falta)
        a = a + 1

我收到此错误消息:

File "C:/Users/vivia/PycharmProjects/karate/Teste posicoes repetidas.py", line 60, in posicionaAcademiaIgual

falta.append(int(vetor[x].inscricao))

AttributeError: 'NoneType' object has no attribute 'append'

我不会在程序中的任何其他位置使用此falta列表。 抱歉我的英语不好。

2 个答案:

答案 0 :(得分:2)

只是将我的评论作为正式答案。

当您执行作业falta = random.shuffle(falta)时,falta变为None,因为random.shuffle已就位并返回None。当您下次迭代时,falta已变为无,当您致电AttributeError时,falta.append会被抛出。

而不是

falta = random.shuffle(falta)

random.shuffle(falta)

阅读this

答案 1 :(得分:-1)

我猜你是从numpy中随机使用的。 ranom.shuffle将返回None,它将列表移动到位。所以改变

falta = random.shuffle(falta)

andom.shuffle(falta)