A fairer test would be:

```
In [48]: timeit list(np.random.RandomState(1).normal(0, 1, (1000, 2000))).sort(key=lambda x: np.sum(x ** 2))
1 loops, best of 3: 301 ms per loop

In [49]: timeit list(np.random.RandomState(1).normal(0, 1, (1000, 2000))).sort(key=lambda x: sum([x_i ** 2 for x_i in x]))
1 loops, best of 3: 4.79 s per loop
``
But the conclusion still holds. :-)