I have following very simple implementation in python

```
 m = []
 l = []
 l.append('A')
 l.append('B')
 l.append('C')
 m.append(l)
 l.clear()
 print(m) --> this gives empty list.

```

i tried

```
 m = []
 l = []
 n = []
 l.append('A')
 l.append('B')
 l.append('C')
 n = l
 m.append(n)
 l.clear()
 print(m) --> this gives empty list too

```

But when i do not clear l, print(m) give me desired list which is ['A','B','C']. Why python clears list m when i clear list l. they are 2 separate variables?