How to copy some elements from a list-of-list so that is doesn't affect the value of elements in the copied list

use*_*045 2 python

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)
Run Code Online (Sandbox Code Playgroud)

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

Dan*_* M. 5

Here's another way of copying lists, along with a more pythonic way of iterating through a list

arr = [[1, 0, 4], [1, 2, 65], [2, 3, 56], [11, 14, 34]]
brr = []

for x in arr:
    if x[1] < 10:
        brr.append(list(x))
        x[1] = 1000
print(brr)
# [[1, 0, 4], [1, 2, 65], [2, 3, 56]]
Run Code Online (Sandbox Code Playgroud)