Как отсортировать список по абсолютному значению?

необходимо отсортировать, но отсортировать на основе абсолютных значений в возрастающем порядке. Для примера, последовательность (-20, -5, 10, 15) будет отсортирована следующим образом (-5, 10, 15, -20). Ваша функция должна возвращать список (list) или кортеж (tuple).

Что не пробую постоянно No output.

def checkio(values: list) -> list:
    n = [int(x) for x in values]
    return abs(n).sort()

    print(checkio([-20, -5, 10, 15])) #== [-5, 10, 15, -20]
    print(checkio([1, 2, 3, 0])) #== [0, 1, 2, 3]
    print(checkio([-1, -2, -3, 0])) #== [0, -1, -2, -3]

Ответы (2 шт):

Автор решения: Qwertiy
a.sorted(key = lambda x: abs(x))
→ Ссылка
Автор решения: Stanislav Volodarskiy

Sorting HOW TO отлично вводит в тему. Потратьте пять минут, они окупятся сторицей.

sorted возвращает упорядоченную копию списка. key=abs задаёт порядок по абсолютной величине:

def checkio(values: list) -> list:
    return sorted(values, key=abs)

print(checkio([-20, -5, 10, 15])) #== [-5, 10, 15, -20]
print(checkio([1, 2, 3, 0])) #== [0, 1, 2, 3]
print(checkio([-1, -2, -3, 0])) #== [0, -1, -2, -3]
→ Ссылка