An interesting variation on this is to write a function to generate a "sorting index":
def sorting_index(sequence):
return zip(*sorted((y, x) for (x, y) in enumerate(sequence)))[1]
if __name__ == "__main__":
jobSize = [5, 8, 3, 4, 1, 9, 7]
length = [ 500, 80, 300, 4, 10, 900, 70]
index = sorting_index(jobSize)
print("job sizes: {0}".format(jobSize))
print("lengths: {0}".format(length))
print("sorted job sizes: {0}".format([jobSize[i] for i in index]))
print("updated lengths: {0}".format([length[i] for i in index]))
print("index: {0}".format(index))
""" my output --->
job sizes: [5, 8, 3, 4, 1, 9, 7]
lengths: [500, 80, 300, 4, 10, 900, 70]
sorted job sizes: [1, 3, 4, 5, 7, 8, 9]
updated lengths: [10, 300, 4, 500, 70, 80, 900]
index: (4, 2, 3, 0, 6, 1, 5)
"""