Je veux ajouter le 1er élément de chaque subliste avec les valeurs d'une autre liste sortie (comming): p> Sortie (vouloir): P> [[0, 1, 2, 3, 4, 5], [1, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [4, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0]]
3 Réponses :
Le problème est de savoir comment vous créez la liste T - T [0], T [1], ... Tout contenir une référence à la même liste. En effectuant T [0] = liste (...) code> Vous modifiez l'élément 0-ème dans une nouvelle liste, mais tout le reste restent les mêmes. La bonne façon d'initialiser T est la suivante: p>
t = [[0 pour _ dans la plage (n1)] pour _ dans la plage (n2)] code> p>
Ici, laissez-moi vous dire ce qui se passe dans votre code ... Dans cette ligne, vous avez fait une liste imbriquée dans laquelle tous les sublistes pointe vers le même subliste en mémoire. P> T = [[0]*n1 for i in range(n2)]
income = [[0, 1, 2, 3, 4, 5],]
i=0
outcome = []
outcome.append(income[0])
for e in income[0]:
if i!= 0:
outcome.append([income[0][i],] +[0]*(len(income[0])-1))
i+=1
print(outcome)
# [[0, 1, 2, 3, 4, 5], [1, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [4, 0, 0, 0, 0, 0], [5, 0, 0, 0, 0, 0]]
Est-ce que cela répond à votre question? Liste des listes Les modifications réfléchies sur les sous-déclarants de manière inattendue