0
votes

Comment mettre à jour la 1ère valeur de la sous-liste avec une autre liste

Je veux ajouter le 1er élément de chaque subliste avec les valeurs d'une autre liste xxx pré>

sortie (comming): p> xxx pré>

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 :


1
votes

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 (...) 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:

t = [[0 pour _ dans la plage (n1)] pour _ dans la plage (n2)]


0 commentaires

1
votes

Ici, laissez-moi vous dire ce qui se passe dans votre code ... xxx pré>

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)]


0 commentaires

0
votes
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]]



0 commentaires