This is a very simple expression, but I have no idea how it operates.

```
print(sum([[3], [5]], []))

# returns [3,5] 

```

why on earth does sum([[3], [5]], []) return [3,5]? My knowledge on sum() is that it takes in an iterable and sums the elements in the iterable. So usually the elements are integers.
For example, I'm familiar with something like:

```
sum([1,2,3])

# returns 6 

```

But sum([[3], [5]], []) has two inputs, one a list of lists, and another an empty list. I thought this would return an error, but surprisingly it returned the above result. I haven't seen something like this before, and I would appreciate it if anyone could tell me the operations going on for this example.