Je suis sur un projet et je suis bloqué sur un point. J'ai deux listes qui n'ont pas la même référence, pourtant quand je modifie l'une d'elle, l'autre fait de même.
Voici le code en espérant que qqn aie la réponse :
def computeNextStep(list_to_compute):
computed_list = list_to_compute[:]
for j in range(1,len(list_to_compute)-1):
for i in range(1,len(list_to_compute[0])-1):
print(j, i, list_to_compute[j][i])
if list_to_compute[j][i] == '_':
if getNeighbours(list_to_compute, i, j) in infos["naissance"]:
computed_list[j][i] = 'x'
for line in list_to_compute:
print(line)
print()
for line in computed_list:
print(line)
print()
else:
if getNeighbours(list_to_compute, i, j) not in infos["survie"]:
computed_list[j][i] = '_'
return computed_list
def getNeighbours(list_to_compute, i, j):
#count how many neighbours around
count = 0
for k in range(-1,2):
if list_to_compute[j-1][i+k] == 'x':
count += 1
if list_to_compute[j+1][i+k] == 'x':
count += 1
if list_to_compute[j][i-1] == 'x':
count += 1
if list_to_compute[j][i+1] == 'x':
count += 1
return count
computed_list = list_to_compute[:] fait bien une copie ... de références, puisque computed_list est une liste ... de listes. On a donc deux listes différentes qui contiennent les mêmes références vers d'autres listes.
Je vous remercie c'est exactement ce que je cherchais ! Bonne soirée
référence listes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Le Tout est souvent plus grand que la somme de ses parties.
Python c'est bon, mangez-en.
Le Tout est souvent plus grand que la somme de ses parties.