So this is happening:
a = [1,2]
b = a
b += [3]
print(a)
[1, 2, 3]
It's extremely confusing and it's screwing up my project's test suite, which takes a list of strings and tests that it gets modified in the correct ways by each function.
Did I just find a bug in Python, or is there some convoluted reason for this misbehavior?