Create two separate list. One positive values one with negative values. sort the negative list, then concatenate them together:
>>> lst = [1, -2, 10, -12, -4, -5, 9, 2]>>> sorted([i for i in lst if i > 0]) + sorted([i for i in lst if i =< 0])[1, 2, 9, 10, -12, -5, -4, -2]>>>