Roiser,я рекомендовал-бы вам самостоятельно поиграться с сортировкой, смотрите какая красота получается:
lll = [9,0.0,0,9,1,2,0,1,0,1,0.0,3,0,1,9,0,0,0,0,-99,-1]
def sortlst(unsorted):
unsorted.sort(key = lambda *args: max([abs(x) for x in args]), reverse=True)
print('unsorted - ', lll)
sortlst(lll)
print('sorted - ', lll)
выдает на гора следующее:
unsorted - [9, 0.0, 0, 9, 1, 2, 0, 1, 0, 1, 0.0, 3, 0, 1, 9, 0, 0, 0, 0, -99, -1]
sorted - [-99, 9, 9, 9, 3, 2, 1, 1, 1, 1, -1, 0.0, 0, 0, 0, 0.0, 0, 0, 0, 0, 0]
работает так: используется встроенный в list метод sort, которому можно впихнуть функцию сортировки, что и сделано, а abs() нужен что-бы параметры отбрасывали знаки, иначе минуса так-же закинет в конец, а нам это не нужно. Что-бы разобраться гуглите list.sort() и sorted(), умение ими пользоваться 100% пригодится.
################################# update
во я набыдлокодил, параметр key можно значительно упростить, попробуйте сделать это самостоятельно, это будет хорошей разминкой))) Если не справитесь - пишите, подскажу.