I noticed a problem when I was trying to use del in a lambda to thin out a list of threads to just those running:

```
map(lambda x: del(x) if not x.isAlive() else x, self.threads)

```

Ignore for a second that this doesn't do anything, I'm just fooling around with map, reduce, and lambda.

This fails with a syntax error at del(x). With some messing around, I think the problem is del() doesn't return a value. For example, this fails with the same error:

```
b = 5
x = del(b)

```

This doesn't, however:

```
def rmThis(x): del(x)

```

Which means I'm using this workaround:

```
map(lambda x: rmThis(x) if not x.isAlive() else x, self.threads)

```

So is the limitation just because del() doesn't return a value? Why not?

I'm using python 2.6.2