我看到很多关于同样错误的问题,但我找不到任何似乎是同一个错误的人。
我的代码的一部分(似乎与我相关)是:
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
列表。
抱歉我的英语不好。
答案 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)