Używam listy list do przechowywania macierzy w python. Próbowałem zainicjować matrycę 2x3 Zero w następujący sposób.Tworzenie list list w pythonic sposób
mat=[[0]*2]*3
Jednak, kiedy zmienić wartość jednego z elementów w matrycy, zmienia wartość tego wpisu każdy rzędu, ponieważ identyfikator każdego wiersza w mat
jest taka sama. Na przykład, po przypisaniu
mat[0][0]=1
mat
jest [[1, 0], [1, 0], [1, 0]]
.
wiem, że mogę stworzyć macierz zerową za pomocą pętli w następujący sposób
mat=[[0]*2]
for i in range(1,3):
mat.append([0]*2)
ale ktoś może mi pokazać więcej pythonic sposób?
Powinien istnieć jeden - a najlepiej tylko jeden - czysty sposób na zrobienie tego. ;-) – Ubiquitous