The error message indicates an error with the lambda function.

That lambda function takes two arguments `x`

and `y`

.

The error message complains that it only received `x`

and not `y`

.

Indeed, the lambda function expects two arguments `x`

and `y`

but receives a single argument which is a tuple `(a, b)`

.

The tuple is not automatically unpacked to give `x = a`

and `y = b`

.

Instead, what happens is `x = (a, b)`

and there is no `y`

, so lambda complains.

Illustration:

```
sage: f = lambda x, y: x + y
sage: ell = [(1, 2), (3, 4), (5, 6)]
sage: list(map(f, ell))
Traceback (most recent call last)
...
TypeError: <lambda>() missing 1 required positional argument: 'y'
```

Compare:

```
sage: f(1, 2)
3
sage: f((1, 2))
Traceback (most recent call last)
...
TypeError: <lambda>() missing 1 required positional argument: 'y'
```

Use `sum`

, which takes an iterable as argument, instead of the custom `f`

:

```
sage: list(map(sum, ell))
[3, 7, 11]
```

Or drop `map`

and use list comprehension.

Either directly:

```
sage: [x + y for x, y in ell]
[3, 7, 11]
```

Or using `f`

and `*`

for tuple unpacking:

```
sage: [f(*t) for t in ell]
[3, 7, 11]
```