Ceos333 Postado Setembro 14, 2016 Denunciar Share Postado Setembro 14, 2016 Oi, estou com um problema em que a lista que estou trabalhando está sendo modificada mesmo sem que haja passagem de valores para ela. from random import * from numpy import * m=2 lista_inicial=[[1, 2], [0, 2], [0, 1]] lista_aux = [] lista_aux = lista_inicial print "condiçao inicial", lista_inicial probabilidade =[0.3333333333333333, 0.3333333333333333, 0.3333333333333333] novo_elemento=[] tamanho_lista_adjacencia= len(lista_inicial) for i in range(m): valor_soma=[] aleatorio= random.random() soma=0 for j in range(tamanho_lista_adjacencia): valor_soma.append(probabilidade[j]) soma= sum(valor_soma) if(soma>=aleatorio): novo_elemento.append(j) lista_aux[j].append(tamanho_lista_adjacencia) break novo_elemento.sort() print "Lista auxiliar:", lista_aux print "Lista Inicial:", lista_inicial como podem vê, mesmo não passando valores/implementando a lista_inicial ela está sendo modificada. Não sei como resolver isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ArteEN Postado Setembro 14, 2016 Denunciar Share Postado Setembro 14, 2016 7 horas atrás, Ceos333 disse: lista_aux = lista_inicial O problema deve estar nesta linha. Python trata listas como ponteiros, então lista_aux e lista_inicial são o mesmo objeto. Mode para: lista_aux.extend(lista_inicial) ou faça o unpack lista_aux = [lista_inicial[:]] #com esse caso você pode retirar a linha lista_aux = [] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ceos333
Oi, estou com um problema em que a lista que estou trabalhando está sendo modificada mesmo sem que haja passagem de valores para ela.
from random import *
from numpy import *
m=2
lista_inicial=[[1, 2], [0, 2], [0, 1]]
lista_aux = []
lista_aux = lista_inicial
print "condiçao inicial", lista_inicial
probabilidade =[0.3333333333333333, 0.3333333333333333, 0.3333333333333333]
novo_elemento=[]
tamanho_lista_adjacencia= len(lista_inicial)
for i in range(m):
novo_elemento.sort()
print "Lista auxiliar:", lista_aux print "Lista Inicial:", lista_inicial
como podem vê, mesmo não passando valores/implementando a lista_inicial ela está sendo modificada. Não sei como resolver isso.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.