I have a question about variable scope in Python. Why is a mutation of a variable allowed without returning the mutated variable?

```
def mutation(L):
    L.append("x")

L = []
mutation(L)
print(L)

```

I would expect this to print [], as the mutation of L inside the function only affects the local scope. Why is "L" mutated even in the global scope?