Barton, let me jump in here for a second. The syntax you explained to me recently works for this, then you can remove something from l2 without it affecting l1 (this is just stating the facts). However while trying my newest favorite cool python trick, I noticed that when I do it as listed below it returns the list of "None"s which don't really affect anything and the copied list is fine, but the question is why, and how do you avoid them.
- >>> l1=[1,2,3,4]
-
>>> l2=[]
-
>>> [l2.append(i) for i in l1]
-
[None, None, None, None]
-
>>> l2
-
[1, 2, 3, 4]
-
>>> l2.remove(3)
-
>>> l1
-
[1, 2, 3, 4]
-
>>> l2
-
[1, 2, 4]
-
>>>