Forum
>>
Principianti
>>
Assegnare valori ad elemento di lista annidata
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Sarvegu |
2017-05-27 13:04:47 - Assegnare valori ad elemento di lista annidata
|
Sezione pre principianti. Ho scorso tutte le 36 pagine della
sezione Principianti ma non ho trovato nulla (e questo non mi ha rincuorato, anzi) Come si fa ad assegnare un valore (che proviene da un calcolo) ad uno specifico elemento di una lista di liste numeriche? Una esemplificazione del mio problema: alfa=[1,1,1,1] matrice=[] for t in range(6): matrice.append(alfa) print("matrice di partenza: ",matrice) matrice[ 2 ][ 2 ]=0 print("matrice di arrivo: ",matrice) l'output è matrice di partenza: [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] matrice di arrivo: [[1, 1, 0, 1], [1, 1, 0, 1], [1, 1, 0, 1], [1, 1, 0, 1], [1, 1, 0, 1], [1, 1, 0, 1]] cioè mi assegna il valore all'elemento di indice 2 ma a tutta la "colonna" Come avrete capito io volevo variare solo uno specifico elemento di indici 2,2 P.S. quando faccio qui l'anteprima mi toglie le parentesi quadre dall'assegnazione e mi ci mette il ? come apice. E anche questo mi rincuora... --- Ultima modifica di Sarvegu in data 2017-05-27 13:06:11 --- --- Ultima modifica di ㎝ in data 2017-05-27 21:38:49 --- |
|
Scritto da ㎝ |
2017-05-27 21:48:55 - Re: Assegnare valori ad elemento di lista annidata
|
È perché matrice contiene 6 riferimenti identici alla lista alfa; quindi se ne modifichi uno, la modifica si riflette su tutti gli altri. Puoi ottenere il risultato che desideri ad esempio facendo:
alfa = [1, 1, 1, 1] matrice = [] for t in range(6): matrice.append(alfa.copy()) print("matrice di partenza:", matrice) matrice[ 2 ][ 2 ] = 0 print("matrice di arrivo:", matrice) (nota la chiamata al metodo copy() di alfa) Ciao, ㎝ THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
|
Scritto da Sarvegu |
2017-05-28 08:18:46 - Re: Assegnare valori ad elemento di lista annidata
|
Grazie.
|
Pagina: 1
Esegui il login per scrivere una risposta.