Reorder list such that each element is followed by the value closest to it I just started playing with Python and was hoping to get some feedback regarding the quality of the following snippet. Does this look like proper Python? What would you change? Is this small script well structured?

Quick description of functional goal: reorder list such that each element is followed by the value closest to it, starting from 20 (AKA shortest-seek-first algorithm).

example:    [15, 24, 12, 13, 48, 56, 2]
becomes:    [24, 15, 13, 12, 2, 48, 56]

better example: [22, 19, 23, 18, 17, 16]
becomes: [19, 18, 17, 16, 22, 23]

fcfs_working = [15, 24, 12, 13, 48, 56, 2]
fcfs_track = []
track_number = 20
while len(fcfs_working) &gt; 0:
    track_number = min(fcfs_working, key=lambda x:abs(x-track_number))
    fcfs_working.remove(track_number)
    fcfs_track.append(track_number)
while len(fcfs_working) &gt; 0:


is the same as

while fcfs_working: