So I have this simple code:
list = [[1,2],[4,5]]
list1 = list.copy()
for i in range(len(list)):
for j in range(len(list[i])):
print(i,j, ":", list[i][j], "and", j,i, ":", list1[j][i])
nr = input('Line {0}, Column{1}: ' .format(i 1, j 1) )
list[i][j] = nr
list1[j][i] = nr
print(list,list1)
print(list1, list)
If I want the final result of the variable list to be the following matrix: [[1,2],[3,4]]
, so the variable list1 should be the transposed matrix: [[1,3],[2,4]]
. Somehow the result is this: [['1', '3'], ['3', '4']] [['1', '3'], ['3', '4']]
. Please someone help me. Thanks and have a good weekend
CodePudding user response:
you should use copy.deepcopy
.
If your list is a list of integers or floats, copy
would suffice but since you have list of lists, you need to recursively copy the elements inside the lists.
You can find more detailed answer here: What is the difference between shallow copy, deepcopy and normal assignment operation?