0

I am not sure what is the difference between multi_list1 and other lists in the way I declared them. When I print them before assignment, all three are the same.

When I print all the lists after assignment, I get

  • multi_list = [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]]
  • multi_list1 = [[0, 3, 6, 9, 12], [0, 3, 6, 9, 12], [0, 3, 6, 9, 12], [0, 3, 6, 9, 12]]
  • multi_list2 = [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]]
row_num = 4
col_num = 5
multi_list = [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]
multi_list1 = [[0]*col_num]*row_num
multi_list2 = [[0 for _ in range(col_num)] for _ in range(row_num)]
print(multi_list)
print(multi_list1)
print(multi_list2)

for row in range(row_num):
    for col in range(col_num):
        multi_list[row][col]= row*col
        multi_list1[row][col]= row*col
        multi_list2[row][col]= row*col

print(multi_list)
print(multi_list1)
print(multi_list2)
srikpv
  • 9

0 Answers0