Problème de listes
Résolu
P
-
P_7080 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
P_7080 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je planche sur le problème 82 du projet Euler et je rencontre un problème bête:
M = [[131,673,234,103,18],
[201,96,342,965,150],
[630,803,746,422,111],
[537,699,497,121,956],
[805,732,524,37,331]]
lignes ,colonnes ,i = len(M), len(M[0]), 0
for i in range(lignes):
m = M.copy()
for j in range(i-1,-1,-1):
m[j][0] += m[j+1][0]
for j in range(i+1,lignes):
m[j][0] += m[j-1][0]
J'ai utilisé une petite matrice comme exemple, mais j'ai découvert qu'étrangement, lorsque je change une valeur dans m, j'en change aussi une dans M, comme si j'avais fait un simple m = M,
j'ai essayé plusieures autres méthodes comme m = list(M) et m = M[:], rien n'y fait.
Je pense donc que le problème vient d'autres part mais je ne trouve pas d'où.
Merci à l'avance de votre aide et bonne soirée
je planche sur le problème 82 du projet Euler et je rencontre un problème bête:
M = [[131,673,234,103,18],
[201,96,342,965,150],
[630,803,746,422,111],
[537,699,497,121,956],
[805,732,524,37,331]]
lignes ,colonnes ,i = len(M), len(M[0]), 0
for i in range(lignes):
m = M.copy()
for j in range(i-1,-1,-1):
m[j][0] += m[j+1][0]
for j in range(i+1,lignes):
m[j][0] += m[j-1][0]
J'ai utilisé une petite matrice comme exemple, mais j'ai découvert qu'étrangement, lorsque je change une valeur dans m, j'en change aussi une dans M, comme si j'avais fait un simple m = M,
j'ai essayé plusieures autres méthodes comme m = list(M) et m = M[:], rien n'y fait.
Je pense donc que le problème vient d'autres part mais je ne trouve pas d'où.
Merci à l'avance de votre aide et bonne soirée
A voir également:
- Gertrude a préparé la liste des affaires à prendre pour l'excursion.juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte.
- Suivi des modifications word - Guide
- Liste déroulante excel - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Liste déroulante en cascade - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
1 réponse
Bonsoir,
Avec
Pour copier les éléments.
Ou encore en utilisant le module deepcopy.
Avec
m = M.copy(), il y a copie de la liste principale, mais pas de ses éléments.
print(id(m), id(M)) print(id(m[0]), id(M[0])
Pour copier les éléments.
m = [lst.copy() for lst in M]
Ou encore en utilisant le module deepcopy.
P_7080
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup j'avais oublié cette subtilité