def combsort(numbers_list): ordered = numbers_list.copy() gap = len(numbers_list) # initial gap (first and last element) swaps = True while swaps or gap!=1: swaps = False for i in range(len(numbers_list)-gap): if ordered[i] > ordered[i+gap]: # swaps without extra variable ordered[i] = ordered[i+gap] - ordered[i] ordered[i+gap] = ordered[i+gap] - ordered[i] ordered[i] = ordered[i+gap] + ordered[i] swaps = True gap = max(gap-1, 1) # update gap, minimum gap is 1 return ordered