Код ниже создает матрицы для вершин, указанных в списке при помощи обычного списка (matrix):
def create_matrix(V, a): matrix = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] i = 0 j = 1 while j < V: matrix[i][j] = matrix[j][i] = 1 j += 1 i += 1 for i in matrix: print(i)
[0, 1, 0, 0, 0] [1, 0, 1, 0, 0] [0, 1, 0, 1, 0] [0, 0, 1, 0, 1] [0, 0, 0, 1, 0]
Но почему-то код, создающий список matrix, использующий генератор списка:
def create_matrix_using_generator(V, a): matrix = [[0] * V] * V i = 0 j = 1 while j < V: matrix[i][j] = matrix[j][i] = 1 j += 1 i += 1 for i in matrix: print(i)
[1, 1, 1, 1, 1] [1, 1, 1, 1, 1] [1, 1, 1, 1, 1] [1, 1, 1, 1, 1] [1, 1, 1, 1, 1]
Прошу вас подсказать, с чем это связано. Всем большое спасибо!