| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 | |
builtin_cmp = cmp |
|
|
def _sorted(iterable, cmp=None, key=None, reverse=0): |
use_cmp = None |
if key is not None: |
if cmp is None: |
def use_cmp(x, y): |
return builtin_cmp(x[0], y[0]) |
else: |
def use_cmp(x, y): |
return cmp(x[0], y[0]) |
l = [(key(element), element) for element in iterable] |
else: |
if cmp is not None: |
use_cmp = cmp |
l = list(iterable) |
|
if use_cmp is not None: |
l.sort(use_cmp) |
else: |
l.sort() |
if reverse: |
l.reverse() |
if key is not None: |
return [element for (_, element) in l] |
return l |
|
|
try: |
sorted = sorted |
except NameError: |
sorted = _sorted |
|
| |