What I want to do is to copy some elements of one list-of-list to other based on certain conditions and then change the original list of lists
arr = [[1,0,4],[1,2,65],[2,3,56],[11,14,34]]
brr = []
for x in range(0,len(arr)):
if arr[x][1] < 10:
brr.append(arr[x])
arr[x][1] = 1000
print(brr)
O/P:
[[1, 1000, 4], [1, 1000, 65], [2, 1000, 56]]
in the above example, I wanted to copy all the list with the middle element <10 to another list-of-list brr
and then change the element in the original list to a large value. However, when I change a value in the original list it also changes the value in the second list
I know that when I append arr[i] to brr, brr just stores the reference pointers to the lists in arr and hence when the values at those addresses are changed it reflects at both the places,
also, if I had to copy the entire l-o-l I could have done it with deepcopy, but what is the best way to do it if there is a criteria /condition