Se genero in memoria due liste:
a = [[4,2,8,6],[1,5,61,3]]
b = [[0,0,0,0],[0,0,0,0]])
poi, eseguo sulla console:
b[0][0] = a[0][0]
allora giustamente ritorna come lista:
b = [[4,0,0,0],[0,0,0,0]]
Tuttavia se la stessa lista b è generata tramite una list comprehension:
b = [[0]*len(a[0])]*len(a)
ed eseguo la stessa operazione di prima:
b[0][0] = a[0][0]
adesso ritorna come lista:
b = [[4,0,0,0],[4,0,0,0]]
Quindi mi chiedo, probabilmente quando una lista è generata sotto forma di list comprehension, allora l'indicizzazione funziona in modo diverso? Non trovo niente a riguardo, se qualcuno sa cosa sta succedendo potrebbe farmi sapere di più?
a = [[4,2,8,6],[1,5,61,3]]
b = [[0,0,0,0],[0,0,0,0]])
poi, eseguo sulla console:
b[0][0] = a[0][0]
allora giustamente ritorna come lista:
b = [[4,0,0,0],[0,0,0,0]]
Tuttavia se la stessa lista b è generata tramite una list comprehension:
b = [[0]*len(a[0])]*len(a)
ed eseguo la stessa operazione di prima:
b[0][0] = a[0][0]
adesso ritorna come lista:
b = [[4,0,0,0],[4,0,0,0]]
Quindi mi chiedo, probabilmente quando una lista è generata sotto forma di list comprehension, allora l'indicizzazione funziona in modo diverso? Non trovo niente a riguardo, se qualcuno sa cosa sta succedendo potrebbe farmi sapere di più?